1/etc/containerd/config.toml(5)File Formats Manual/etc/containerd/config.toml(5)
2
3
4
6 containerd-config.toml - configuration file for containerd
7
8
10 The config.toml file is a configuration file for the containerd daemon.
11 The file must be placed at /etc/containerd/config.toml or specified
12 with the --config option of containerd to be used by the daemon. If the
13 file does not exist at the appropriate location or is not provided via
14 the --config option containerd uses its default configuration settings,
15 which can be displayed with the containerd config(1) command.
16
17
19 The TOML file used to configure the containerd daemon settings has a
20 short list of global settings followed by a series of sections for spe‐
21 cific areas of daemon configuration. There is also a section for plug‐
22 ins that allows each containerd plugin to have an area for plugin-spe‐
23 cific configuration and settings.
24
25
27 version
28 The version field in the config file specifies the config’s ver‐
29 sion. If no version number is specified inside the config file
30 then it is assumed to be a version 1 config and parsed as such.
31 Please use version = 2 to enable version 2 config as version 1
32 has been deprecated.
33
34
35 root The root directory for containerd metadata. (Default:
36 "/var/lib/containerd")
37
38
39 state The state directory for containerd (Default: "/run/containerd")
40
41
42 plugin_dir
43 The directory for dynamic plugins to be stored
44
45
46 [grpc] Section for gRPC socket listener settings. Contains the follow‐
47 ing properties:
48
49
50 • address (Default: "/run/containerd/containerd.sock")
51
52 • tcp_address
53
54 • tcp_tls_cert
55
56 • tcp_tls_key
57
58 • uid (Default: 0)
59
60 • gid (Default: 0)
61
62 • max_recv_message_size
63
64 • max_send_message_size
65
66
67
68 [ttrpc]
69 Section for TTRPC settings. Contains properties:
70
71
72 • address (Default: "")
73
74 • uid (Default: 0)
75
76 • gid (Default: 0)
77
78
79
80 [debug]
81 Section to enable and configure a debug socket listener. Con‐
82 tains four properties:
83
84
85 • address (Default: "/run/containerd/debug.sock")
86
87 • uid (Default: 0)
88
89 • gid (Default: 0)
90
91 • level (Default: "info") sets the debug log level
92
93
94
95 [metrics]
96 Section to enable and configure a metrics listener. Contains two
97 properties:
98
99
100 • address (Default: "") Metrics endpoint does not listen by de‐
101 fault
102
103 • grpc_histogram (Default: false) Turn on or off gRPC histogram
104 metrics
105
106
107
108 disabled_plugins
109 Disabled plugins are IDs of plugins to disable. Disabled plugins
110 won't be initialized and started.
111
112
113 required_plugins
114 Required plugins are IDs of required plugins. Containerd exits
115 if any required plugin doesn't exist or fails to be initialized
116 or started.
117
118
119 [plugins]
120 The plugins section contains configuration options exposed from
121 installed plugins. The following plugins are enabled by default
122 and their settings are shown below. Plugins that are not en‐
123 abled by default will provide their own configuration values
124 documentation.
125
126
127 • [plugins.cgroup] has one option no_prometheus (Default: false)
128
129 • [plugins.diff] has one option default, a list by default set
130 to ["walking"]
131
132 • [plugins.linux] has several options for configuring the run‐
133 time, shim, and related options:
134
135 • shim specifies the shim binary (Default: "containerd-shim"),
136
137 • runtime is the OCI compliant runtime binary (Default:
138 "runc"),
139
140 • runtime_root is the root directory used by the runtime (De‐
141 fault: ""),
142
143 • no_shim specifies whether to use a shim or not (Default:
144 false),
145
146 • shim_debug turns on debugging for the shim (Default: false)
147
148
149
150 • [plugins."io.containerd.gc.v1.scheduler"] has several options
151 that perform advanced tuning for the scheduler:
152
153 • pause_threshold is the maximum amount of time GC should be
154 scheduled (Default: 0.02),
155
156 • deletion_threshold guarantees GC is scheduled after n number
157 of deletions (Default: 0 [not triggered]),
158
159 • mutation_threshold guarantees GC is scheduled after n number
160 of database mutations (Default: 100),
161
162 • schedule_delay defines the delay after trigger event before
163 scheduling a GC (Default "0ms" [immediate]),
164
165 • startup_delay defines the delay after startup before sched‐
166 uling a GC (Default "100ms")
167
168
169
170 • [plugins."io.containerd.runtime-shim.v2.shim"] specifies op‐
171 tions for configuring the runtime shim:
172
173 • platforms specifies the list of supported platforms
174
175 • sched_core Core scheduling is a feature that allows only
176 trusted tasks to run concurrently on cpus sharing compute
177 resources (eg: hyperthreads on a core). (Default: false)
178
179
180
181 • [plugins."io.containerd.service.v1.tasks-service"] has one op‐
182 tion:
183
184 • rdt_config_file (Linux only) specifies path to a configura‐
185 tion used for configuring RDT (Default: ""). Enables support
186 for Intel RDT, a technology for cache and memory bandwidth
187 management. See https://github.com/intel/goresc‐
188 trl/blob/v0.2.0/doc/rdt.md#configuration for details of the
189 configuration file format.
190
191
192
193
194
195 oom_score
196 The out of memory (OOM) score applied to the containerd daemon
197 process (Default: 0)
198
199
200 [cgroup]
201 Section for Linux cgroup specific settings
202
203
204 • path (Default: "") Specify a custom cgroup path for created
205 containers
206
207
208
209 [proxy_plugins]
210 Proxy plugins configures plugins which are communicated to over
211 gRPC
212
213
214 • type (Default: "")
215
216 • address (Default: "")
217
218
219
220 timeouts
221 Timeouts specified as a duration
222
223
224 imports
225 Imports is a list of additional configuration files to include.
226 This allows to split the main configuration file and keep some
227 sections separately (for example vendors may keep a custom run‐
228 time configuration in a separate file without modifying the main
229 config.toml). Imported files will overwrite simple fields like
230 int or string (if not empty) and will append array and map
231 fields. Imported files are also versioned, and the version
232 can't be higher than the main config.
233
234
235 stream_processors
236
237
238 • accepts (Default: "[]") Accepts specific media-types
239
240 • returns (Default: "") Returns the media-type
241
242 • path (Default: "") Path or name of the binary
243
244 • args (Default: "[]") Args to the binary
245
246
247
249 The following is a complete config.toml default configuration example:
250
251
252 root = "/var/lib/containerd"
253 state = "/run/containerd"
254 oom_score = 0
255 imports = ["/etc/containerd/runtime_*.toml", "./debug.toml"]
256
257 [grpc]
258 address = "/run/containerd/containerd.sock"
259 uid = 0
260 gid = 0
261
262 [debug]
263 address = "/run/containerd/debug.sock"
264 uid = 0
265 gid = 0
266 level = "info"
267
268 [metrics]
269 address = ""
270 grpc_histogram = false
271
272 [cgroup]
273 path = ""
274
275 [plugins]
276 [plugins.cgroups]
277 no_prometheus = false
278 [plugins.diff]
279 default = ["walking"]
280 [plugins.linux]
281 shim = "containerd-shim"
282 runtime = "runc"
283 runtime_root = ""
284 no_shim = false
285 shim_debug = false
286 [plugins.scheduler]
287 pause_threshold = 0.02
288 deletion_threshold = 0
289 mutation_threshold = 100
290 schedule_delay = 0
291 startup_delay = "100ms"
292 [plugins."io.containerd.runtime-shim.v2.shim"]
293 platforms = ["linux/amd64"]
294 sched_core = true
295 [plugins."io.containerd.service.v1.tasks-service"]
296 rdt_config_file = "/etc/rdt-config.yaml"
297
298
299
301 Please file any specific issues that you encounter at
302 https://github.com/containerd/containerd.
303
304
306 Phil Estes estesp@gmail.com ⟨mailto:estesp@gmail.com⟩
307
308
310 ctr(8), containerd-config(8), containerd(8)
311
312
313
314 08/08/2018 /etc/containerd/config.toml(5)