@@ -16,7 +16,7 @@ WARNING:
16
16
17
17
# Supported tags and respective ` Dockerfile ` links
18
18
19
- - [ ` 0.3.8 ` , ` latest ` (* Dockerfile* )] ( https://github.com/nats-io/nats-streaming-docker/blob/8c51cccfe250cb144becd082e3ccdf531a31b30a /Dockerfile )
19
+ - [ ` 0.4.0 ` , ` latest ` (* Dockerfile* )] ( https://github.com/nats-io/nats-streaming-docker/blob/048c972a51fdacfe406cc254cfde35b8bcc0e1aa /Dockerfile )
20
20
21
21
For detailed information about the published artifacts of each of the above supported tags (image metadata, transfer size, etc), please see [ the ` repos/nats-streaming ` directory] ( https://github.com/docker-library/repo-info/blob/master/repos/nats-streaming ) in [ the ` docker-library/repo-info ` GitHub repo] ( https://github.com/docker-library/repo-info ) .
22
22
@@ -38,144 +38,158 @@ For more information about this image and its history, please see [the relevant
38
38
# use -p or -P as needed.
39
39
40
40
$ docker run -d nats-streaming
41
+ ```
41
42
42
43
Output that you would get if you had started with ` -ti ` instead of ` d ` (for daemon):
43
44
44
- [1] 2017/01/19 20:27:37.540307 [INF] Starting nats-streaming-server[test-cluster] version 0.3.8
45
- [1] 2017/01/19 20:27:37.540462 [INF] Starting nats-server version 0.9.6
46
- [1] 2017/01/19 20:27:37.540493 [INF] Starting http monitor on 0.0.0.0:8222
47
- [1] 2017/01/19 20:27:37.540550 [INF] Listening for client connections on 0.0.0.0:4222
48
- [1] 2017/01/19 20:27:37.540574 [INF] Server is ready
49
- [1] 2017/01/19 20:27:37.825728 [INF] STAN: Message store is MEMORY
50
- [1] 2017/01/19 20:27:37.825798 [INF] STAN: --------- Store Limits ---------
51
- [1] 2017/01/19 20:27:37.825828 [INF] STAN: Channels: 100 *
52
- [1] 2017/01/19 20:27:37.825853 [INF] STAN: -------- channels limits -------
53
- [1] 2017/01/19 20:27:37.825859 [INF] STAN: Subscriptions: 1000 *
54
- [1] 2017/01/19 20:27:37.825864 [INF] STAN: Messages : 1000000 *
55
- [1] 2017/01/19 20:27:37.825876 [INF] STAN: Bytes : 976.56 MB *
56
- [1] 2017/01/19 20:27:37.825945 [INF] STAN: Age : unlimited *
57
- [1] 2017/01/19 20:27:37.825949 [INF] STAN: --------------------------------
45
+ ``` bash
46
+ [1] 2017/04/10 19:50:57.882306 [INF] STREAM: Starting nats-streaming-server[test-cluster] version 0.4.0
47
+ [1] 2017/04/10 19:50:57.882364 [INF] STREAM: ServerID: xCixCBvHOEkaNalxlv1Xnq
48
+ [1] 2017/04/10 19:50:57.882370 [INF] STREAM: Go version: go1.7.5
49
+ [1] 2017/04/10 19:50:57.882451 [INF] Starting nats-server version 0.9.6
50
+ [1] 2017/04/10 19:50:57.882504 [INF] Starting http monitor on 0.0.0.0:8222
51
+ [1] 2017/04/10 19:50:57.882719 [INF] Listening for client connections on 0.0.0.0:4222
52
+ [1] 2017/04/10 19:50:57.882826 [INF] Server is ready
53
+ [1] 2017/04/10 19:50:58.164264 [INF] STREAM: Message store is MEMORY
54
+ [1] 2017/04/10 19:50:58.164302 [INF] STREAM: --------- Store Limits ---------
55
+ [1] 2017/04/10 19:50:58.164311 [INF] STREAM: Channels: 100 *
56
+ [1] 2017/04/10 19:50:58.164315 [INF] STREAM: -------- channels limits -------
57
+ [1] 2017/04/10 19:50:58.164321 [INF] STREAM: Subscriptions: 1000 *
58
+ [1] 2017/04/10 19:50:58.164326 [INF] STREAM: Messages : 1000000 *
59
+ [1] 2017/04/10 19:50:58.164337 [INF] STREAM: Bytes : 976.56 MB *
60
+ [1] 2017/04/10 19:50:58.164341 [INF] STREAM: Age : unlimited *
61
+ [1] 2017/04/10 19:50:58.164345 [INF] STREAM: --------------------------------
62
+ ```
58
63
59
64
To use a file based store instead, you would run:
60
65
66
+ ``` bash
61
67
$ docker run -d nats-streaming -store file -dir datastore
62
68
63
- [1] 2017/01/19 20:28:45.169437 [INF] Starting nats-streaming-server[test-cluster] version 0.3.8
64
- [1] 2017/01/19 20:28:45.169722 [INF] Starting nats-server version 0.9.6
65
- [1] 2017/01/19 20:28:45.169748 [INF] Listening for client connections on 0.0.0.0:4222
66
- [1] 2017/01/19 20:28:45.169816 [INF] Server is ready
67
- [1] 2017/01/19 20:28:45.449668 [INF] STAN: Message store is FILE
68
- [1] 2017/01/19 20:28:45.449705 [INF] STAN: --------- Store Limits ---------
69
- [1] 2017/01/19 20:28:45.449714 [INF] STAN: Channels: 100 *
70
- [1] 2017/01/19 20:28:45.449719 [INF] STAN: -------- channels limits -------
71
- [1] 2017/01/19 20:28:45.449724 [INF] STAN: Subscriptions: 1000 *
72
- [1] 2017/01/19 20:28:45.449729 [INF] STAN: Messages : 1000000 *
73
- [1] 2017/01/19 20:28:45.449799 [INF] STAN: Bytes : 976.56 MB *
74
- [1] 2017/01/19 20:28:45.449805 [INF] STAN: Age : unlimited *
75
- [1] 2017/01/19 20:28:45.449828 [INF] STAN: --------------------------------
76
-
77
- You can also connect to a remote NATS Server running in a docker image.
78
- First, run NATS Server:
69
+ [1] 2017/04/10 19:52:05.223258 [INF] STREAM: Starting nats-streaming-server[test-cluster] version 0.4.0
70
+ [1] 2017/04/10 19:52:05.223300 [INF] STREAM: ServerID: QMSoDJFVKdMTahEpmE80gd
71
+ [1] 2017/04/10 19:52:05.223329 [INF] STREAM: Go version: go1.7.5
72
+ [1] 2017/04/10 19:52:05.223489 [INF] Starting nats-server version 0.9.6
73
+ [1] 2017/04/10 19:52:05.223537 [INF] Listening for client connections on 0.0.0.0:4222
74
+ [1] 2017/04/10 19:52:05.223607 [INF] Server is ready
75
+ [1] 2017/04/10 19:52:05.502165 [INF] STREAM: Message store is FILE
76
+ [1] 2017/04/10 19:52:05.502208 [INF] STREAM: --------- Store Limits ---------
77
+ [1] 2017/04/10 19:52:05.502266 [INF] STREAM: Channels: 100 *
78
+ [1] 2017/04/10 19:52:05.502273 [INF] STREAM: -------- channels limits -------
79
+ [1] 2017/04/10 19:52:05.502279 [INF] STREAM: Subscriptions: 1000 *
80
+ [1] 2017/04/10 19:52:05.502284 [INF] STREAM: Messages : 1000000 *
81
+ [1] 2017/04/10 19:52:05.502303 [INF] STREAM: Bytes : 976.56 MB *
82
+ [1] 2017/04/10 19:52:05.502308 [INF] STREAM: Age : unlimited *
83
+ [1] 2017/04/10 19:52:05.502319 [INF] STREAM: --------------------------------
84
+ ```
85
+
86
+ You can also connect to a remote NATS Server running in a docker image. First, run NATS Server:
79
87
88
+ ``` bash
80
89
$ docker run -d --name=nats-main nats
90
+ ```
81
91
82
92
Now, start the Streaming server and link it to the above docker image:
83
93
94
+ ``` bash
84
95
$ docker run -d --link nats-main nats-streaming -store file -dir datastore -ns nats://nats-main:4222
85
96
86
- [1] 2017/01/19 20:29:19.178044 [INF] Starting nats-streaming-server[test-cluster] version 0.3.8
87
- [1] 2017/01/19 20:29:19.459272 [INF] STAN: Message store is FILE
88
- [1] 2017/01/19 20:29:19.459322 [INF] STAN: --------- Store Limits ---------
89
- [1] 2017/01/19 20:29:19.459336 [INF] STAN: Channels: 100 *
90
- [1] 2017/01/19 20:29:19.459343 [INF] STAN: -------- channels limits -------
91
- [1] 2017/01/19 20:29:19.459351 [INF] STAN: Subscriptions: 1000 *
92
- [1] 2017/01/19 20:29:19.459375 [INF] STAN: Messages : 1000000 *
93
- [1] 2017/01/19 20:29:19.459396 [INF] STAN: Bytes : 976.56 MB *
94
- [1] 2017/01/19 20:29:19.459407 [INF] STAN: Age : unlimited *
95
- [1] 2017/01/19 20:29:19.459413 [INF] STAN: --------------------------------
96
-
97
+ [1] 2017/04/10 19:53:18.955779 [INF] STREAM: Starting nats-streaming-server[test-cluster] version 0.4.0
98
+ [1] 2017/04/10 19:53:18.955819 [INF] STREAM: ServerID: khzmxBZqJxIUuCn91PWKmB
99
+ [1] 2017/04/10 19:53:18.955831 [INF] STREAM: Go version: go1.7.5
100
+ [1] 2017/04/10 19:53:19.306861 [INF] STREAM: Message store is FILE
101
+ [1] 2017/04/10 19:53:19.306911 [INF] STREAM: --------- Store Limits ---------
102
+ [1] 2017/04/10 19:53:19.306931 [INF] STREAM: Channels: 100 *
103
+ [1] 2017/04/10 19:53:19.306946 [INF] STREAM: -------- channels limits -------
104
+ [1] 2017/04/10 19:53:19.306950 [INF] STREAM: Subscriptions: 1000 *
105
+ [1] 2017/04/10 19:53:19.306953 [INF] STREAM: Messages : 1000000 *
106
+ [1] 2017/04/10 19:53:19.306961 [INF] STREAM: Bytes : 976.56 MB *
107
+ [1] 2017/04/10 19:53:19.306968 [INF] STREAM: Age : unlimited *
108
+ [1] 2017/04/10 19:53:19.306971 [INF] STREAM: --------------------------------
109
+ ```
97
110
98
111
Notice that the output shows that the NATS Server was not started, as opposed to the first output.
99
112
100
- ` ` `
101
-
102
113
# Commandline Options
103
114
104
115
``` bash
105
116
Streaming Server Options:
106
- -cid, --cluster_id < cluster ID > Cluster ID (default: test-cluster)
107
- -st, --store < type > Store type: MEMORY| FILE (default: MEMORY)
108
- --dir < directory > For FILE store type, this is the root directory
109
- -mc, --max_channels < number > Max number of channels (0 for unlimited)
110
- -msu, --max_subs < number > Max number of subscriptions per channel (0 for unlimited)
111
- -mm, --max_msgs < number > Max number of messages per channel (0 for unlimited)
112
- -mb, --max_bytes < number > Max messages total size per channel (0 for unlimited)
113
- -ma, --max_age < seconds > Max duration a message can be stored (" 0s" for unlimited)
114
- -ns, --nats_server < url > Connect to this external NATS Server (embedded otherwise)
115
- -sc, --stan_config < file > Streaming server configuration file
117
+ -cid, --cluster_id < string > Cluster ID (default: test-cluster)
118
+ -st, --store < string > Store type: MEMORY| FILE (default: MEMORY)
119
+ --dir < string > For FILE store type, this is the root directory
120
+ -mc, --max_channels < int > Max number of channels (0 for unlimited)
121
+ -msu, --max_subs < int > Max number of subscriptions per channel (0 for unlimited)
122
+ -mm, --max_msgs < int > Max number of messages per channel (0 for unlimited)
123
+ -mb, --max_bytes < size > Max messages total size per channel (0 for unlimited)
124
+ -ma, --max_age < duration > Max duration a message can be stored (" 0s" for unlimited)
125
+ -ns, --nats_server < string > Connect to this external NATS Server URL (embedded otherwise)
126
+ -sc, --stan_config < string > Streaming server configuration file
116
127
-hbi, --hb_interval < duration> Interval at which server sends heartbeat to a client
117
128
-hbt, --hb_timeout < duration> How long server waits for a heartbeat response
118
- -hbf, --hb_fail_count < number> Number of failed heartbeats before server closes the client connection
129
+ -hbf, --hb_fail_count < int> Number of failed heartbeats before server closes the client connection
130
+ --ack_subs < int> Number of internal subscriptions handling incoming ACKs (0 means one per client' s subscription)
131
+ --ft_group <string> Name of the FT Group. A group can be 2 or more servers with a single active server and all sharing the same datastore.
119
132
120
133
Streaming Server File Store Options:
121
- --file_compact_enabled Enable file compaction
122
- --file_compact_frag File fragmentation threshold for compaction
123
- --file_compact_interval < int> Minimum interval (in seconds) between file compactions
124
- --file_compact_min_size < int> Minimum file size for compaction
125
- --file_buffer_size < int> File buffer size (in bytes)
126
- --file_crc Enable file CRC-32 checksum
127
- --file_crc_poly < int> Polynomial used to make the table used for CRC-32 checksum
128
- --file_sync Enable File.Sync on Flush
129
- --file_slice_max_msgs Maximum number of messages per file slice (subject to channel limits)
130
- --file_slice_max_bytes Maximum file slice size - including index file (subject to channel limits)
131
- --file_slice_max_age Maximum file slice duration starting when the first message is stored (subject to channel limits)
132
- --file_slice_archive_script Path to script to use if you want to archive a file slice being removed
134
+ --file_compact_enabled <bool> Enable file compaction
135
+ --file_compact_frag <int> File fragmentation threshold for compaction
136
+ --file_compact_interval <int> Minimum interval (in seconds) between file compactions
137
+ --file_compact_min_size <size> Minimum file size for compaction
138
+ --file_buffer_size <size> File buffer size (in bytes)
139
+ --file_crc <bool> Enable file CRC-32 checksum
140
+ --file_crc_poly <int> Polynomial used to make the table used for CRC-32 checksum
141
+ --file_sync <bool> Enable File.Sync on Flush
142
+ --file_slice_max_msgs <int> Maximum number of messages per file slice (subject to channel limits)
143
+ --file_slice_max_bytes <size> Maximum file slice size - including index file (subject to channel limits)
144
+ --file_slice_max_age <duration> Maximum file slice duration starting when the first message is stored (subject to channel limits)
145
+ --file_slice_archive_script <string> Path to script to use if you want to archive a file slice being removed
146
+ --file_fds_limit <int> Store will try to use no more file descriptors than this given limit
133
147
134
148
Streaming Server TLS Options:
135
- -secure Use a TLS connection to the NATS server without
149
+ -secure <bool> Use a TLS connection to the NATS server without
136
150
verification; weaker than specifying certificates.
137
- -tls_client_key Client key for the streaming server
138
- -tls_client_cert Client certificate for the streaming server
139
- -tls_client_cacert Client certificate CA for the streaming server
151
+ -tls_client_key <string> Client key for the streaming server
152
+ -tls_client_cert <string> Client certificate for the streaming server
153
+ -tls_client_cacert <string> Client certificate CA for the streaming server
140
154
141
155
Streaming Server Logging Options:
142
- -SD, --stan_debug Enable STAN debugging output
143
- -SV, --stan_trace Trace the raw STAN protocol
156
+ -SD, --stan_debug=<bool> Enable STAN debugging output
157
+ -SV, --stan_trace=<bool> Trace the raw STAN protocol
144
158
-SDV Debug and trace STAN
145
159
(See additional NATS logging options below)
146
160
147
161
Embedded NATS Server Options:
148
- -a, --addr < host > Bind to host address (default: 0.0.0.0)
149
- -p, --port < port > Use port for clients (default: 4222)
150
- -P, --pid < file > File to store PID
151
- -m, --http_port < port > Use port for http monitoring
152
- -ms,--https_port < port > Use port for https monitoring
153
- -c, --config < file > Configuration file
162
+ -a, --addr <string> Bind to host address (default: 0.0.0.0)
163
+ -p, --port <int> Use port for clients (default: 4222)
164
+ -P, --pid <string> File to store PID
165
+ -m, --http_port <int> Use port for http monitoring
166
+ -ms,--https_port <int> Use port for https monitoring
167
+ -c, --config <string> Configuration file
154
168
155
169
Logging Options:
156
- -l, --log < file > File to redirect log output
157
- -T, --logtime Timestamp log entries (default: true)
158
- -s, --syslog Enable syslog as log method
159
- -r, --remote_syslog < addr > Syslog server addr (udp://localhost:514)
160
- -D, --debug Enable debugging output
161
- -V, --trace Trace the raw protocol
170
+ -l, --log <string> File to redirect log output
171
+ -T, --logtime=<bool> Timestamp log entries (default: true)
172
+ -s, --syslog <string> Enable syslog as log method
173
+ -r, --remote_syslog <string> Syslog server addr (udp://localhost:514)
174
+ -D, --debug=<bool> Enable debugging output
175
+ -V, --trace=<bool> Trace the raw protocol
162
176
-DV Debug and trace
163
177
164
178
Authorization Options:
165
- --user < user > User required for connections
166
- --pass < password > Password required for connections
167
- --auth < token > Authorization token required for connections
179
+ --user <string> User required for connections
180
+ --pass <string> Password required for connections
181
+ --auth <string> Authorization token required for connections
168
182
169
183
TLS Options:
170
- --tls Enable TLS, do not verify clients (default: false)
171
- --tlscert < file > Server certificate file
172
- --tlskey < file > Private key for server certificate
173
- --tlsverify Enable TLS, verify client certificates
174
- --tlscacert < file > Client certificate CA for verification
184
+ --tls=<bool> Enable TLS, do not verify clients (default: false)
185
+ --tlscert <string> Server certificate file
186
+ --tlskey <string> Private key for server certificate
187
+ --tlsverify=<bool> Enable TLS, verify client certificates
188
+ --tlscacert <string> Client certificate CA for verification
175
189
176
190
NATS Clustering Options:
177
- --routes < rurl-1, rurl- 2> Routes to solicit and connect
178
- --cluster < cluster-url > Cluster URL for solicited routes
191
+ --routes <string, ...> Routes to solicit and connect
192
+ --cluster <string> Cluster URL for solicited routes
179
193
180
194
Common Options:
181
195
-h, --help Show this message
0 commit comments