1containers.conf(5)               configuration              containers.conf(5)
2
3
4

NAME

6       containers.conf - The container engine configuration file specifies de‐
7       fault configuration options and command-line flags  for  container  en‐
8       gines.
9
10
11

DESCRIPTION

13       Container  engines  like Podman & Buildah read containers.conf file, if
14       it exists and modify the defaults for running containers on  the  host.
15       containers.conf uses a TOML format that can be easily modified and ver‐
16       sioned.
17
18
19       Container  engines  read   the   /usr/share/containers/containers.conf,
20       /etc/containers/containers.conf,      and      /etc/containers/contain‐
21       ers.conf.d/*.conf files if they exist.  When running in rootless  mode,
22       they also read $HOME/.config/containers/containers.conf and $HOME/.con‐
23       fig/containers/containers.conf.d/*.conf files.
24
25
26       Fields specified in containers conf override the  default  options,  as
27       well as options in previously read containers.conf files.
28
29
30       Config  files  in the .d directories, are added in alpha numeric sorted
31       order and must end in .conf.
32
33
34       Not all options are supported in all container engines.
35
36
37       Note, container engines also use other configuration files for  config‐
38       uring the environment.
39
40
41storage.conf  for  configuration of container and images stor‐
42                age.
43
44registries.conf for  definition  of  container  registries  to
45                search while pulling.  container images.
46
47policy.conf  for controlling which images can be pulled to the
48                system.
49
50
51
52

FORMAT

54       The TOML format ⟨https://github.com/toml-lang/toml⟩ is used as the  en‐
55       coding of the configuration file.  Every option is nested under its ta‐
56       ble. No bare options are used. The format of TOML can be simplified to:
57
58
59              [table1]
60              option = value
61
62              [table2]
63              option = value
64
65              [table3]
66              option = value
67
68              [table3.subtable1]
69              option = value
70
71
72

CONTAINERS TABLE

74       The containers table contains settings to configure and manage the  OCI
75       runtime.
76
77
78       annotations = []
79
80
81       List  of annotations. Specified as "key=value" pairs to be added to all
82       containers.
83
84
85       Example: "run.oci.keep_original_groups=1"
86
87
88       apparmor_profile="container-default"
89
90
91       Used to change the name of the default AppArmor  profile  of  container
92       engines.  The default profile name is "container-default".
93
94
95       base_hosts_file=""
96
97
98       The  hosts entries from the base hosts file are added to the containers
99       hosts file. This must be either an absolute path or as  special  values
100       "image"  which  uses  the hosts file from the container image or "none"
101       which means no base hosts file is used. The default is  ""  which  will
102       use /etc/hosts.
103
104
105       cgroup_conf=[]
106
107
108       List  of cgroup_conf entries specifying a list of cgroup files to write
109       to and their values. For example memory.high=1073741824 sets  the  mem‐
110       ory.high limit to 1GB.
111
112
113       cgroups="enabled"
114
115
116       Determines  whether  the  container will create CGroups.  Options are:
117         enabled   Enable cgroup support within container
118         disabled  Disable cgroup support, will inherit cgroups from parent
119         no-conmon Do not create a cgroup dedicated to conmon.
120
121
122       cgroupns="private"
123
124
125       Default way to to create a cgroup namespace for the container.  Options
126       are: private Create private Cgroup Namespace for the  container.   host
127       Share host Cgroup Namespace with the container.
128
129
130       default_capabilities=[]
131
132
133       List of default capabilities for containers.
134
135
136       The default list is:
137
138
139              default_capabilities = [
140                    "CHOWN",
141                    "DAC_OVERRIDE",
142                    "FOWNER",
143                    "FSETID",
144                    "KILL",
145                    "NET_BIND_SERVICE",
146                    "SETFCAP",
147                    "SETGID",
148                    "SETPCAP",
149                    "SETUID",
150                    "SYS_CHROOT",
151              ]
152
153
154
155       Note, by default container engines using containers.conf, run with less
156       capabilities than Docker. Docker runs additionally with  "AUDIT_WRITE",
157       "MKNOD" and "NET_RAW". If you need to add one of these capabilities for
158       a particular container, you can use the --cap-add option or  edit  your
159       system's containers.conf.
160
161
162       default_sysctls=[]
163
164
165       A  list  of  sysctls  to  be set in containers by default, specified as
166       "name=value".
167
168
169       Example:"net.ipv4.ping_group_range=0 1000".
170
171
172       default_ulimits=[]
173
174
175       A list of ulimits to be set in  containers  by  default,  specified  as
176       "name=soft-limit:hard-limit".
177
178
179       Example: "nofile=1024:2048".
180
181
182       devices=[]
183
184
185       List of devices.  Specified as 'device-on-host:device-on-container:per‐
186       missions'.
187
188
189       Example: "/dev/sdc:/dev/xvdc:rwm".
190
191
192       dns_options=[]
193
194
195       List of default DNS options to be added to /etc/resolv.conf  inside  of
196       the container.
197
198
199       dns_searches=[]
200
201
202       List  of default DNS search domains to be added to /etc/resolv.conf in‐
203       side of the container.
204
205
206       dns_servers=[]
207
208
209       A list of dns servers to override the DNS configuration passed  to  the
210       container.  The  special  value “none” can be specified to disable cre‐
211       ation of /etc/resolv.conf in the container.
212
213
214       env=["PATH=/usr/local/sbin:/usr/lo‐
215       cal/bin:/usr/sbin:/usr/bin:/sbin:/bin"]
216
217
218       Environment  variable  list for the container process, used for passing
219       environment variables to the container.
220
221
222       env_host=false
223
224
225       Pass all host environment variables into the container.
226
227
228       host_containers_internal_ip=""
229
230
231       Set the ip for the host.containers.internal  entry  in  the  containers
232       /etc/hosts  file.  This can be set to "none" to disable adding this en‐
233       try. By default it will automatically choose the host ip.
234
235
236       NOTE: When using podman machine this entry will never be added  to  the
237       containers  hosts  file  instead  the gvproxy dns resolver will resolve
238       this hostname. Therefore it is not possible to  disable  the  entry  in
239       this case.
240
241
242       http_proxy=true
243
244
245       Default  proxy environment variables will be passed into the container.
246       The environment variables passed in include:  http_proxy,  https_proxy,
247       ftp_proxy, no_proxy, and the upper case versions of these. The no_proxy
248       option is needed when host system uses a proxy but container should not
249       use  proxy.  Proxy environment variables specified for the container in
250       any other way will override the values passed from the host.
251
252
253       init=false
254
255
256       Run an init inside the container that forwards signals and  reaps  pro‐
257       cesses.
258
259
260       init_path="/usr/libexec/podman/catatonit"
261
262
263       Path  to  the  container-init  binary, which forwards signals and reaps
264       processes within containers. Note that the container-init  binary  will
265       only be used when the --init for podman-create and podman-run is set.
266
267
268       ipcns="shareable"
269
270
271       Default  way  to  to create a IPC namespace for the container.  Options
272       are:
273         host     Share host IPC Namespace with the container.
274         none     Create shareable IPC Namespace for the container  without  a
275       private /dev/shm.
276         private   Create  private IPC Namespace for the container, other con‐
277       tainers are not allowed to share it.
278         shareable Create shareable IPC Namespace for the container.
279
280
281       keyring=true
282
283
284       Indicates whether the container engines create a kernel keyring for use
285       within the container.
286
287
288       label=true
289
290
291       Indicates whether the container engine uses MAC(SELinux) container sep‐
292       aration via labeling. This option is ignored on disabled systems.
293
294
295       label_users=false
296
297
298       label_users indicates whether to enforce confined users  in  containers
299       on  SELinux systems. This option causes containers to maintain the cur‐
300       rent user and role field of the calling  process.  By  default  SELinux
301       containers run with the user system_u, and the role system_r.
302
303
304       log_driver=""
305
306
307       Logging  driver for the container. Currently available options are k8s-
308       file, journald, none and passthrough, with json-file  aliased  to  k8s-
309       file  for  scripting compatibility.  The journald driver is used by de‐
310       fault if the systemd journal is readable and writable.  Otherwise,  the
311       k8s-file driver is used.
312
313
314       log_size_max=-1
315
316
317       Maximum size allowed for the container's log file. Negative numbers in‐
318       dicate that no size limit is imposed. If it is positive, it must be  >=
319       8192  to  match/exceed  conmon's read buffer. The file is truncated and
320       re-opened so the limit is never exceeded.
321
322
323       log_tag=""
324
325
326       Default format tag for container log messages. This is useful for  cre‐
327       ating a specific tag for container log messages. Container log messages
328       default to using the truncated container ID as a tag.
329
330
331       mounts=[]
332
333
334       List of mounts.  Specified as "type=TYPE,source=,destination=,"
335
336
337       Example:  [ "type=bind,source=/var/lib/foobar,destination=/var/lib/foo‐
338       bar,ro", ]
339
340
341       netns="private"
342
343
344       Default  way  to  to create a NET namespace for the container.  Options
345       are:
346         private Create private NET Namespace for the container.
347         host    Share host NET Namespace with the container.
348         none    Containers do not use the network.
349
350
351       no_hosts=false
352
353
354       Create /etc/hosts for the container. By default, container engines man‐
355       age  /etc/hosts,  automatically  adding   the container's  own  IP  ad‐
356       dress.
357
358
359       oom_score_adj=0
360
361
362       Tune the host's OOM preferences for  containers  (accepts  values  from
363       -1000 to 1000).
364
365
366       pidns="private"
367
368
369       Default  way  to  to create a PID namespace for the container.  Options
370       are:
371         private Create private PID Namespace for the container.
372         host    Share host PID Namespace with the container.
373
374
375       pids_limit=1024
376
377
378       Maximum number of processes allowed in a container. 0 indicates that no
379       limit is imposed.
380
381
382       prepare_volume_on_create=false
383
384
385       Copy  the content from the underlying image into the newly created vol‐
386       ume when the container is created instead of when  it  is  started.  If
387       false,  the  container  engine will not copy the content until the con‐
388       tainer is started. Setting it to true may have negative performance im‐
389       plications.
390
391
392       read_only=true|false
393
394
395       Run  all  containers  with  root  file system mounted read-only. Set to
396       false by default.
397
398
399       seccomp_profile="/usr/share/containers/seccomp.json"
400
401
402       Path to the seccomp.json profile which is used as the  default  seccomp
403       profile for the runtime.
404
405
406       shm_size="65536k"
407
408
409       Size  of /dev/shm. The format is <number><unit>. number must be greater
410       than 0.  Unit is  optional  and  can  be:  b  (bytes),  k  (kilobytes),
411       m(megabytes),  or g (gigabytes).  If you omit the unit, the system uses
412       bytes. If you omit the size entirely, the system uses 65536k.
413
414
415       tz=""
416
417
418       Set timezone in container. Takes IANA timezones as well as local, which
419       sets  the  timezone in the container to match the host machine.  If not
420       set, then containers will run with the time zone specified in  the  im‐
421       age.
422
423
424       Examples:
425         tz="local"
426         tz="America/New_York"
427
428
429       umask="0022"
430
431
432       Sets umask inside the container.
433
434
435       userns="host"
436
437
438       Default  way  to to create a USER namespace for the container.  Options
439       are:
440         private Create private USER Namespace for the container.
441         host    Share host USER Namespace with the container.
442
443
444       utsns="private"
445
446
447       Default way to to create a UTS namespace for  the  container.   Options
448       are:
449         private Create private UTS Namespace for the container.
450         host    Share host UTS Namespace with the container.
451
452
453       volumes=[]
454
455
456       List  of  volumes.   Specified  as "directory-on-host:directory-in-con‐
457       tainer:options".
458
459
460       Example:  "/db:/var/lib/db:ro".
461
462

NETWORK TABLE

464       The network table contains settings pertaining to the management of CNI
465       plugins.
466
467
468       network_backend=""
469
470
471       Network  backend  determines what network driver will be used to set up
472       and tear down container networks.  Valid  values  are  "cni"  and  "ne‐
473       tavark".  The default value is empty which means that it will automati‐
474       cally choose CNI or netavark. If there are already containers/images or
475       CNI networks preset it will choose CNI.
476
477
478       Before  changing this value all containers must be stopped otherwise it
479       is likely that iptables rules and network interfaces might leak on  the
480       host. A reboot will fix this.
481
482
483       cni_plugin_dirs=[]
484
485
486       List of paths to directories where CNI plugin binaries are located.
487
488
489       The default list is:
490
491
492              cni_plugin_dirs = [
493                "/usr/local/libexec/cni",
494                "/usr/libexec/cni",
495                "/usr/local/lib/cni",
496                "/usr/lib/cni",
497                "/opt/cni/bin",
498              ]
499
500
501
502       netavark_plugin_dirs=[]
503
504
505       List of directories that will be searched for netavark plugins.
506
507
508       The default list is:
509
510
511              netavark_plugin_dirs = [
512                "/usr/local/libexec/netavark",
513                "/usr/libexec/netavark",
514                "/usr/local/lib/netavark",
515                "/usr/lib/netavark",
516              ]
517
518
519
520       default_network="podman"
521
522
523       The network name of the default network to attach pods to.
524
525
526       default_subnet="10.88.0.0/16"
527
528
529       The  subnet to use for the default network (named above in default_net‐
530       work).  If the default network does not exist, it will be automatically
531       created the first time a tool is run using this subnet.
532
533
534       default_subnet_pools=[]
535
536
537       DefaultSubnetPools  is a list of subnets and size which are used to al‐
538       locate subnets automatically for podman network create.  It will  iter‐
539       ate through the list and will pick the first free subnet with the given
540       size. This is only used for ipv4 subnets, ipv6 subnets are  always  as‐
541       signed randomly.
542
543
544       The default list is (10.89.0.0-10.255.255.0/24):
545
546
547              default_subnet_pools = [
548                {"base" = "10.89.0.0/16", "size" = 24},
549                {"base" = "10.90.0.0/15", "size" = 24},
550                {"base" = "10.92.0.0/14", "size" = 24},
551                {"base" = "10.96.0.0/11", "size" = 24},
552                {"base" = "10.128.0.0/9", "size" = 24},
553              ]
554
555
556
557       default_rootless_network_cmd="slirp4netns"
558
559
560       Configure  which  rootless network program to use by default. Valid op‐
561       tions are slirp4netns (default) and pasta.
562
563
564       network_config_dir="/etc/cni/net.d/"
565
566
567       Path to the directory where network configuration  files  are  located.
568       For  the  CNI  backend  the  default  is  /etc/cni/net.d  as  root  and
569       $HOME/.config/cni/net.d  as  rootless.   For   the   netavark   backend
570       "/etc/containers/networks" is used as root and "$graphroot/networks" as
571       rootless.
572
573
574       dns_bind_port=53
575
576
577       Port to use for dns forwarding daemon with netavark in  rootful  bridge
578       mode and dns enabled.  Using an alternate port might be useful if other
579       dns services should run on the machine.
580
581
582       pasta_options = []
583
584
585       A list of default pasta options that should be used running pasta.   It
586       accepts  the  pasta  cli options, see pasta(1) for the full list of op‐
587       tions.
588
589

ENGINE TABLE

591       The engine table contains configuration options used  to  set  up  con‐
592       tainer engines such as Podman and Buildah.
593
594
595       active_service=""
596
597
598       Name  of destination for accessing the Podman service. See SERVICE DES‐
599       TINATION TABLE below.
600
601
602       cgroup_manager="systemd"
603
604
605       The cgroup management implementation used  for  the  runtime.  Supports
606       cgroupfs and systemd.
607
608
609       compat_api_enforce_docker_hub=true
610
611
612       Enforce using docker.io for completing short names in Podman's compati‐
613       bility REST API. Note that  this  will  ignore  unqualified-search-reg‐
614       istries    and    short-name   aliases   defined   in   containers-reg‐
615       istries.conf(5).
616
617
618       compose_providers=[]
619
620
621       Specify one or more external providers for the  compose  command.   The
622       first  found  provider  is  used for execution.  Can be an absolute and
623       relative path or a (file) name.
624
625
626       compose_warning_logs=true
627
628
629       Emit logs on each invocation of the compose command indicating that  an
630       external compose provider is being executed.
631
632
633       conmon_env_vars=[]
634
635
636       Environment variables to pass into Conmon.
637
638
639       conmon_path=[]
640
641
642       Paths  to  search for the conmon container manager binary. If the paths
643       are empty or no valid path was found, then the $PATH environment  vari‐
644       able will be used as the fallback.
645
646
647       The default list is:
648
649
650              conmon_path=[
651                  "/usr/libexec/podman/conmon",
652                  "/usr/local/libexec/podman/conmon",
653                  "/usr/local/lib/podman/conmon",
654                  "/usr/bin/conmon",
655                  "/usr/sbin/conmon",
656                  "/usr/local/bin/conmon",
657                  "/usr/local/sbin/conmon",
658                  "/run/current-system/sw/bin/conmon",
659              ]
660
661
662
663       database_backend="boltdb"
664
665
666       The  database  backend  of  Podman.  Supported values are "boltdb" (de‐
667       fault) and "sqlite". Please run podman-system-reset prior  to  changing
668       the database backend of an existing deployment, to make sure Podman can
669       operate correctly.
670
671
672       detach_keys="ctrl-p,ctrl-q"
673
674
675       Keys sequence used for detaching a container.   Specify  the  keys  se‐
676       quence  used to detach a container.  Format is a single character [a-Z]
677       or a comma separated sequence of ctrl-<value>, where <value> is one of:
678       a-z, @, ^, [, \, ], ^ or _ Specifying "" disables this feature.
679
680
681       enable_port_reservation=true
682
683
684       Determines  whether the engine will reserve ports on the host when they
685       are forwarded to containers. When enabled, when ports are forwarded  to
686       containers,  they  are  held open by conmon as long as the container is
687       running, ensuring that they cannot be reused by other programs  on  the
688       host.  However,  this can cause significant memory usage if a container
689       has many ports forwarded to it.  Disabling this can save memory.
690
691
692       env=[]
693
694
695       Environment variables to be used  when  running  the  container  engine
696       (e.g.,  Podman,  Buildah).  For example "http_proxy=internal.proxy.com‐
697       pany.com".  Note these environment variables will not  be  used  within
698       the  container.  Set  the  env section under [containers] table, if you
699       want to set environment variables for the container.
700
701
702       events_logfile_path=""
703
704
705       Define where event logs will be stored, when events_logger is "file".
706
707
708       events_logfile_max_size="1m"
709
710
711       Sets the maximum size for  events_logfile_path.   The  unit  can  be  b
712       (bytes), k (kilobytes), m (megabytes) or g (gigabytes).  The format for
713       the size is <number><unit>, e.g., 1b or 3g.  If  no  unit  is  included
714       then  the  size will be in bytes.  When the limit is exceeded, the log‐
715       file will be rotated and the old one will be deleted.  If the  maximumn
716       size  is  set to 0, then no limit will be applied, and the logfile will
717       not be rotated.
718
719
720       events_logger="journald"
721
722
723       The default method to use when logging events.
724
725
726       The default method is different based on the platform  that  Podman  is
727       being run upon.  To determine the current value, use this command:
728
729
730       podman info --format {{.Host.EventLogger}
731
732
733       Valid values are: file, journald, and none.
734
735
736       events_container_create_inspect_data=true|false
737
738
739       Creates  a  more  verbose  container-create event which includes a JSON
740       payload with detailed information about the container.  Set to false by
741       default.
742
743
744       helper_binaries_dir=["/usr/libexec/podman", ...]
745
746
747       A  is  a  list of directories which are used to search for helper bina‐
748       ries.
749
750
751       The default paths on Linux are:
752
753
754/usr/local/libexec/podman
755
756/usr/local/lib/podman
757
758/usr/libexec/podman
759
760/usr/lib/podman
761
762
763
764       The default paths on macOS are:
765
766
767/usr/local/opt/podman/libexec
768
769/opt/homebrew/bin
770
771/opt/homebrew/opt/podman/libexec
772
773/usr/local/bin
774
775/usr/local/libexec/podman
776
777/usr/local/lib/podman
778
779/usr/libexec/podman
780
781/usr/lib/podman
782
783
784
785       The default path on Windows is:
786
787
788C:\Program Files\RedHat\Podman
789
790
791
792       hooks_dir=["/etc/containers/oci/hooks.d", ...]
793
794
795       Path to the OCI hooks directories for automatically executed hooks.
796
797
798       image_default_format="oci"|"v2s2"|"v2s1"
799
800
801       Manifest Type (oci, v2s2, or v2s1) to use when pulling, pushing, build‐
802       ing  container  images.  By  default images pulled and pushed match the
803       format of the source image. Building/committing defaults to OCI.  Note:
804       image_build_format is deprecated.
805
806
807       image_default_transport="docker://"
808
809
810       Default transport method for pulling and pushing images.
811
812
813       image_parallel_copies=0
814
815
816       Maximum  number of image layers to be copied (pulled/pushed) simultane‐
817       ously.  Not setting this field will fall back to  containers/image  de‐
818       faults. (6)
819
820
821       image_volume_mode="bind"
822
823
824       Tells container engines how to handle the built-in image volumes.
825
826
827              • bind: An anonymous named volume will be  created  and  mounted
828                into the container.
829
830              • tmpfs: The volume is mounted onto the container  as  a  tmpfs,
831                which  allows the users to create content that disappears when
832                the container is stopped.
833
834              • ignore: All volumes are just ignored and no action is taken.
835
836
837
838       infra_command="/pause"
839
840
841       Infra (pause) container image command for pod  infra  containers.  When
842       running  a  pod,  we start a /pause process in a container to hold open
843       the namespaces associated with the pod.  This  container  does  nothing
844       other than sleep, reserving the pod's resources for the lifetime of the
845       pod.
846
847
848       infra_image=""
849
850
851       Infra (pause) container image for pod infra containers. When running  a
852       pod,  we  start  a  pause process in a container to hold open the name‐
853       spaces associated with the pod. This container does nothing other  than
854       sleep,  reserving  the  pod's resources for the lifetime of the pod. By
855       default container engines run a built-in container using the pause exe‐
856       cutable. If you want override specify an image to pull.
857
858
859       kube_generate_type="pod"
860
861
862       Default  Kubernetes kind/specification of the kubernetes yaml generated
863       with the podman kube generate command. The possible options are pod and
864       deployment.
865
866
867       lock_type="shm"
868
869
870       Specify  the  locking  mechanism  to  use;  valid  values are "shm" and
871       "file".  Change the default only if you are sure of what you are doing,
872       in  general  "file" is useful only on platforms where cgo is not avail‐
873       able for using the faster "shm" lock type. You may need to run  "podman
874       system renumber" after you change the lock type.
875
876
877       multi_image_archive=false
878
879
880       Allows for creating archives (e.g., tarballs) with more than one image.
881       Some container engines, such as Podman, interpret additional  arguments
882       as  tags  for one image and hence do not store more than one image. The
883       default behavior can be altered with this option.
884
885
886       namespace=""
887
888
889       Default engine namespace. If the engine is joined to  a  namespace,  it
890       will  see  only containers and pods that were created in the same name‐
891       space, and will create new containers and pods in that  namespace.  The
892       default  namespace  is  "",  which corresponds to no namespace. When no
893       namespace is set, all containers and pods are visible.
894
895
896       network_cmd_path=""
897
898
899       Path to the slirp4netns binary.
900
901
902       network_cmd_options=[]
903
904
905       Default options to pass to the slirp4netns binary.
906
907
908       Valid options values are:
909
910
911allow_host_loopback=true|false: Allow the slirp4netns to reach
912                the host loopback IP (10.0.2.2). Default is false.
913
914mtu=MTU:  Specify the MTU to use for this network. (Default is
915                65520).
916
917cidr=CIDR: Specify ip range to use for this network.  (Default
918                is 10.0.2.0/24).
919
920enable_ipv6=true|false:  Enable  IPv6.  Default  is true. (Re‐
921                quired for outbound_addr6).
922
923outbound_addr=INTERFACE: Specify the outbound interface  slirp
924                should bind to (ipv4 traffic only).
925
926outbound_addr=IPv4:  Specify  the  outbound ipv4 address slirp
927                should bind to.
928
929outbound_addr6=INTERFACE: Specify the outbound interface slirp
930                should bind to (ipv6 traffic only).
931
932outbound_addr6=IPv6:  Specify  the outbound ipv6 address slirp
933                should bind to.
934
935port_handler=rootlesskit: Use rootlesskit for port forwarding.
936                Default.   Note:  Rootlesskit changes the source IP address of
937                incoming packets to a IP  address  in  the  container  network
938                namespace,  usually  10.0.2.100.  If your application requires
939                the real source IP address, e.g.  web  server  logs,  use  the
940                slirp4netns port handler. The rootlesskit port handler is also
941                used for rootless containers when  connected  to  user-defined
942                networks.
943
944port_handler=slirp4netns: Use the slirp4netns port forwarding,
945                it is slower than rootlesskit but preserves the correct source
946                IP  address. This port handler cannot be used for user-defined
947                networks.
948
949
950
951       no_pivot_root=false
952
953
954       Whether to use chroot instead of pivot_root in the runtime.
955
956
957       num_locks=2048
958
959
960       Number of locks available for containers and pods.  Each  created  con‐
961       tainer  or pod consumes one lock. The default number available is 2048.
962       If this is changed, a lock renumbering must  be  performed,  using  the
963       podman system renumber command.
964
965
966       pod_exit_policy="continue"
967
968
969       Set  the  exit  policy  of the pod when the last container exits.  Sup‐
970       ported policies are:
971
972
973       ┌────────────┬────────────────────────────┐
974Exit Policy Description                
975       ├────────────┼────────────────────────────┤
976continue    │ The pod continues  running │
977       │            │ when  the  last  container │
978       │            │ exits. Used by default.    │
979       ├────────────┼────────────────────────────┤
980stop        │ The pod  is  stopped  when │
981       │            │ the  last container exits. │
982       │            │ Used in play kube.         │
983       └────────────┴────────────────────────────┘
984
985       pull_policy="always"|"missing"|"never"
986
987
988       Pull image before running or creating a container. The default is miss‐
989       ing.
990
991
992missing:  attempt to pull the latest image from the registries
993                listed in registries.conf if a local  image  does  not  exist.
994                Raise  an error if the image is not in any listed registry and
995                is not present locally.
996
997always: pull the image from the first registry it is found  in
998                as  listed  in registries.conf. Raise an error if not found in
999                the registries, even if the image is present locally.
1000
1001never: do not pull the image from the registry, use  only  the
1002                local  version. Raise an error if the image is not present lo‐
1003                cally.
1004
1005
1006
1007       remote = false
1008
1009
1010       Indicates whether the application should be  running  in  remote  mode.
1011       This  flag  modifies  the --remote option on container engines. Setting
1012       the flag to true will default podman --remote=true for  access  to  the
1013       remote Podman service.
1014
1015
1016       runtime=""
1017
1018
1019       Default  OCI specific runtime in runtimes that will be used by default.
1020       Must refer to a member of the runtimes table. Default runtime  will  be
1021       searched for on the system using the priority: "crun", "runc", "kata".
1022
1023
1024       runtime_supports_json=["crun",   "runc",   "kata",   "runsc",  "youki",
1025       "krun"]
1026
1027
1028       The list of the OCI runtimes that support --format=json.
1029
1030
1031       runtime_supports_kvm=["kata", "krun"]
1032
1033
1034       The list of OCI runtimes that support running containers with KVM sepa‐
1035       ration.
1036
1037
1038       runtime_supports_nocgroups=["crun", "krun"]
1039
1040
1041       The  list  of  OCI  runtimes  that  support  running containers without
1042       CGroups.
1043
1044
1045       image_copy_tmp_dir="/var/tmp"
1046
1047
1048       Default location for storing temporary container image content. Can  be
1049       overridden  with the TMPDIR environment variable. If you specify "stor‐
1050       age", then the location of the container/storage tmp directory will  be
1051       used.  If  set  then it is the users responsibility to cleanup storage.
1052       Configure tmpfiles.d(5) to cleanup storage.
1053
1054
1055       service_timeout=5
1056
1057
1058       Number of seconds to wait without a connection  before the podman  sys‐
1059       tem service times out and exits
1060
1061
1062       static_dir="/var/lib/containers/storage/libpod"
1063
1064
1065       Directory for persistent libpod files (database, etc).  By default this
1066       will be configured relative to where containers/storage stores contain‐
1067       ers.
1068
1069
1070       stop_timeout=10
1071
1072
1073       Number  of  seconds  to  wait for container to exit before sending kill
1074       signal.
1075
1076
1077       exit_command_delay=300
1078
1079
1080       Number of seconds to wait for the API process for the exec call  before
1081       sending  exit  command  mimicking  the Docker behavior of 5 minutes (in
1082       seconds).
1083
1084
1085       tmp_dir="/run/libpod"
1086
1087
1088       The path to a temporary directory to store per-boot container.  Must be
1089       a tmpfs (wiped after reboot).
1090
1091
1092       volume_path="/var/lib/containers/storage/volumes"
1093
1094
1095       Directory where named volumes will be created in using the default vol‐
1096       ume driver.  By default this will be configured relative to where  con‐
1097       tainers/storage  store  containers.  This convention is followed by the
1098       default volume driver, but may not be by other drivers.
1099
1100
1101       chown_copied_files=true
1102
1103
1104       Determines whether file copied into a container will have changed  own‐
1105       ership to the primary uid/gid of the container.
1106
1107
1108       compression_format="gzip"
1109
1110
1111       Specifies  the  compression  format  to use when pushing an image. Sup‐
1112       ported values are: gzip, zstd and zstd:chunked.
1113
1114
1115       compression_level="5"
1116
1117
1118       The compression level to use when pushing an image. Valid  options  de‐
1119       pend  on  the compression format used. For gzip, valid options are 1-9,
1120       with a default of 5. For zstd, valid options are 1-20, with  a  default
1121       of 3.
1122
1123
1124       podmansh_timeout=30
1125
1126
1127       Number of seconds to wait for podmansh logins.
1128
1129

SERVICE DESTINATION TABLE

1131       The  engine.service_destinations  table  contains configuration options
1132       used to set up remote connections to the podman service for the  podman
1133       API.
1134
1135
1136       [engine.service_destinations.{name}]  URI  to access the Podman service
1137       uri="ssh://user@production.example.com/run/user/1001/podman/pod‐
1138       man.sock"
1139
1140
1141       Example URIs:
1142
1143
1144rootless local  - unix://run/user/1000/podman/podman.sock
1145
1146rootless      remote     -     ssh://user@engineering.lab.com‐
1147                pany.com/run/user/1000/podman/podman.sock
1148
1149rootful local  - unix://run/podman/podman.sock
1150
1151rootful  remote  -   ssh://root@10.10.1.136:22/run/podman/pod‐
1152                man.sock
1153
1154
1155
1156       identity="~/.ssh/id_rsa
1157
1158
1159       Path to file containing ssh identity key
1160
1161
1162       [engine.volume_plugins]
1163
1164
1165       A table of all the enabled volume plugins on the system. Volume plugins
1166       can be used as the backend for Podman named volumes. Individual plugins
1167       are  specified below, as a map of the plugin name (what the plugin will
1168       be called) to its path (filepath of the plugin's unix socket).
1169
1170
1171       [engine.platform_to_oci_runtime]
1172
1173
1174       Allows end users to switch the OCI runtime on the  bases  of  container
1175       image's  platform  string.   Following  config  field contains a map of
1176       platform/string = oci_runtime.
1177
1178

SECRET TABLE

1180       The secret table contains settings for the configuration of the  secret
1181       subsystem.
1182
1183
1184       driver=file
1185
1186
1187       Name of the secret driver to be used.  Currently valid values are:
1188         * file
1189         * pass
1190
1191
1192       [secrets.opts]
1193
1194
1195       The driver specific options object.
1196
1197

MACHINE TABLE

1199       The machine table contains configurations for podman machine VMs
1200
1201
1202       cpus=1 Number of CPU's a machine is created with.
1203
1204
1205       disk_size=10
1206
1207
1208       The size of the disk in GB created when init-ing a podman-machine VM
1209
1210
1211       image=""
1212
1213
1214       Default  image  URI  when  creating a new VM using podman machine init.
1215       Options: On Linux/Mac, testing, stable, next.  On  Windows,  the  major
1216       version of the OS (e.g 36) for Fedora 36. For all platforms you can al‐
1217       ternatively specify a custom download URL to an  image.  Container  en‐
1218       gines  translate  URIs  $OS  and  $ARCH  to the native OS and ARCH. URI
1219       "https://example.com/$OS/$ARCH/foobar.ami" would become  "https://exam
1220       ple.com/linux/amd64/foobar.ami"  on  a  Linux AMD machine.  The default
1221       value is testing on Linux/Mac, and on Windows.
1222
1223
1224       memory=2048
1225
1226
1227       Memory in MB a machine is created with.
1228
1229
1230       user=""
1231
1232
1233       Username to use and create on the podman machine OS for  rootless  con‐
1234       tainer  access. The default value is user. On Linux/Mac the default is‐
1235       core.
1236
1237
1238       volumes=["$HOME:$HOME"]
1239
1240
1241       Host directories to be mounted as volumes into the VM by default.   En‐
1242       vironment  variables like $HOME as well as complete paths are supported
1243       for the source and destination. An optional third field :ro can be used
1244       to tell the container engines to mount the volume readonly.
1245
1246
1247       On Mac, the default volumes are:
1248
1249
1250       [ "/Users:/Users", "/private:/private", "/var/folders:/var/folders" ]
1251
1252
1253       provider=""
1254
1255
1256       Virtualization  provider  to  be  used for running a podman-machine VM.
1257       Empty value is interpreted as the default provider for the current host
1258       OS. On Linux/Mac default is QEMU and on Windows it is WSL.
1259
1260

FARMS TABLE

1262       The  farms table contains configuration options used to group up remote
1263       connections into farms that will be used when  sending  out  builds  to
1264       different machines in a farm via podman buildfarm.
1265
1266
1267       default=""
1268
1269
1270       The default farm to use when farming out builds.
1271
1272
1273       [farms.list]
1274
1275
1276       Map  of  farms  created where the key is the farm name and the value is
1277       the list of system connections.
1278
1279
1280

FILES

1282       containers.conf
1283
1284
1285       Distributions  often  provide  a  /usr/share/containers/containers.conf
1286       file  to  provide  a default configuration. Administrators can override
1287       fields in this  file  by  creating  /etc/containers/containers.conf  to
1288       specify  their  own  configuration.  They  may also drop .conf files in
1289       /etc/containers/containers.conf.d which will be loaded in  alphanumeric
1290       order.   Rootless  users  can  further override fields in the config by
1291       creating a config file stored in the  $HOME/.config/containers/contain‐
1292       ers.conf  file  or  .conf  files  in  $HOME/.config/containers/contain‐
1293       ers.conf.d.
1294
1295
1296       If the CONTAINERS_CONF environment variable is set, all system and user
1297       config  files  are  ignored  and only the specified config file will be
1298       loaded.
1299
1300
1301       If the CONTAINERS_CONF_OVERRIDE path environment variable is  set,  the
1302       config file will be loaded last even when CONTAINERS_CONF is set.
1303
1304
1305       The  values  of  both environment variables may be absolute or relative
1306       paths, for instance, CONTAINERS_CONF=/tmp/my_containers.conf.
1307
1308
1309       Fields specified in a containers.conf file  override  the  default  op‐
1310       tions, as well as options in previously loaded containers.conf files.
1311
1312
1313       storage.conf
1314
1315
1316       The /etc/containers/storage.conf file is the default storage configura‐
1317       tion file.  Rootless users can override fields in the storage config by
1318       creating $HOME/.config/containers/storage.conf.
1319
1320
1321       If  the  CONTAINERS_STORAGE_CONF path environment variable is set, this
1322       path is used for the storage.conf file rather than the  default.   This
1323       is primarily used for testing.
1324
1325
1326

SEE ALSO

1328       containers-storage.conf(5),  containers-policy.json(5), containers-reg‐
1329       istries.conf(5), tmpfiles.d(5)
1330
1331
1332
1333engine                             Container                containers.conf(5)
Impressum