1podman(1)                   General Commands Manual                  podman(1)
2
3
4

NAME

6       podman - Simple management tool for pods, containers and images
7
8

SYNOPSIS

10       podman [options] command
11
12

DESCRIPTION

14       Podman  (Pod  Manager)  is  a fully featured container engine that is a
15       simple daemonless tool.  Podman provides a Docker-CLI  comparable  com‐
16       mand  line  that  eases the transition from other container engines and
17       allows the management of pods,  containers  and  images.   Simply  put:
18       alias  docker=podman.   Most  Podman  commands  can be run as a regular
19       user, without requiring additional privileges.
20
21
22       Podman uses Buildah(1) internally  to  create  container  images.  Both
23       tools share image (not container) storage, hence each can use or manip‐
24       ulate images (but not containers) created by the other.
25
26
27       Default settings for flags are defined in  containers.conf.  Most  set‐
28       tings  for  Remote connections use the server's containers.conf, except
29       when documented in man pages.
30
31
32       podman [GLOBAL OPTIONS]
33
34

GLOBAL OPTIONS

36   --cgroup-manager=manager
37       The CGroup manager to use for container cgroups. Supported  values  are
38       cgroupfs  or  systemd. Default is systemd unless overridden in the con‐
39       tainers.conf file.
40
41
42       Note: Setting this flag can cause certain commands to break when called
43       on  containers  previously  created  by  the other CGroup manager type.
44       Note: CGroup manager is not  supported  in  rootless  mode  when  using
45       CGroups Version V1.
46
47
48   --conmon
49       Path  of  the  conmon  binary  (Default  path is configured in contain‐
50       ers.conf)
51
52
53   --connection, -c
54       Connection to use for remote podman, including Mac and Windows (exclud‐
55       ing  WSL2)  machines,  (Default  connection  is  configured in contain‐
56       ers.conf) Setting this option switches the  --remote  option  to  true.
57       Remote connections use local containers.conf for default.
58
59
60   --events-backend=type
61       Backend  to  use for storing events. Allowed values are file, journald,
62       and none. When file is specified, the  events  are  stored  under  <tm‐
63       pdir>/events/events.log (see --tmpdir below).
64
65
66   --help, -h
67       Print usage statement
68
69
70   --hooks-dir=path
71       Each  *.json  file in the path configures a hook for Podman containers.
72       For more details on the syntax of the JSON files and the  semantics  of
73       hook  injection, see oci-hooks(5).  Podman and libpod currently support
74       both the 1.0.0 and 0.1.0 hook schemas, although  the  0.1.0  schema  is
75       deprecated.
76
77
78       This  option  may  be set multiple times; paths from later options have
79       higher precedence (oci-hooks(5) discusses directory precedence).
80
81
82       For the annotation conditions, libpod uses any annotations set  in  the
83       generated OCI configuration.
84
85
86       For  the bind-mount conditions, only mounts explicitly requested by the
87       caller via --volume are considered.  Bind mounts that libpod inserts by
88       default (e.g. /dev/shm) are not considered.
89
90
91       If  --hooks-dir  is unset for root callers, Podman and libpod currently
92       default   to   /usr/share/containers/oci/hooks.d   and    /etc/contain‐
93       ers/oci/hooks.d  in  order  of  increasing precedence.  Using these de‐
94       faults is deprecated. Migrate to explicitly setting --hooks-dir.
95
96
97       Podman and libpod currently support an additional precreate state which
98       is  called  before  the  runtime's  create operation.  Unlike the other
99       stages, which receive the container  state  on  their  standard  input,
100       precreate  hooks  receive  the  proposed runtime configuration on their
101       standard input.  They may alter that configuration as they see fit, and
102       write the altered form to their standard output.
103
104
105       WARNING:  the  precreate hook allows powerful changes to occur, such as
106       adding additional mounts to the runtime configuration.  That power also
107       makes  it  easy  to  break things.  Before reporting libpod errors, try
108       running a container with precreate hooks disabled to see if the problem
109       is due to one of the hooks.
110
111
112   --identity=path
113       Path  to  ssh  identity  file. If the identity file has been encrypted,
114       podman prompts the user for the passphrase.  If  no  identity  file  is
115       provided  and no user is given, podman defaults to the user running the
116       podman command.  Podman prompts for the login password  on  the  remote
117       server.
118
119
120       Identity value resolution precedence:
121        - command line value
122        - environment variable CONTAINER_SSHKEY, if CONTAINER_HOST is found
123        - containers.conf Remote connections use local containers.conf for de‐
124       fault.
125
126
127   --imagestore=path
128       Path of the imagestore where images are stored.  By default, the  stor‐
129       age library stores all the images in the graphroot but if an imagestore
130       is provided, then the storage library will store newly pulled images in
131       the  provided  imagestore  and  keep using the graphroot for everything
132       else. If the user is using the overlay driver, then  the  images  which
133       were already part of the graphroot will still be accessible.
134
135
136       This will override imagestore option in containers-storage.conf(5), re‐
137       fer to containers-storage.conf(5) for more details.
138
139
140   --log-level=level
141       Log messages at and above specified level: debug,  info,  warn,  error,
142       fatal or panic (default: warn)
143
144
145   --module=path
146       Load  the  specified  containers.conf(5) module.  Can be an absolute or
147       relative path.  Please refer to containers.conf(5) for details.
148
149
150       This feature is not supported on the remote client, including  Mac  and
151       Windows (excluding WSL2) machines
152
153
154   --network-cmd-path=path
155       Path  to  the  slirp4netns(1)  command  binary  to use for setting up a
156       slirp4netns network.  If "" is used, then  the  binary  will  first  be
157       searched  using  the helper_binaries_dir option in containers.conf, and
158       second using the $PATH environment variable.  Note: This option is dep‐
159       recated  and  will  be  removed  with  Podman 5.0. Use the helper_bina‐
160       ries_dir option in containers.conf instead.
161
162
163   --network-config-dir=directory
164       Path to the directory where network configuration  files  are  located.
165       For the netavark backend "/etc/containers/networks" is used as root and
166       "$graphroot/networks" as rootless.  For the CNI backend the default  is
167       "/etc/cni/net.d" as root and "$HOME/.config/cni/net.d" as rootless. CNI
168       is deprecated from Podman in the future, use netavark.
169
170
171   --out=path
172       Redirect the output of podman to the specified path  without  affecting
173       the container output or its logs. This parameter can be used to capture
174       the output from any of podman's commands directly into a file  and  en‐
175       able  suppression  of  podman's  output  by specifying /dev/null as the
176       path. To explicitly disable the container logging, the --log-driver op‐
177       tion should be used.
178
179
180   --remote, -r
181       When  true,  access to the Podman service is remote. Defaults to false.
182       Settings can be modified in  the  containers.conf  file.  If  the  CON‐
183       TAINER_HOST  environment  variable is set, the --remote option defaults
184       to true.
185
186
187   --root=value
188       Storage root dir in which data, including images, is  stored  (default:
189       "/var/lib/containers/storage"  for  UID 0, "$HOME/.local/share/contain‐
190       ers/storage" for other users).  Default root dir configured in contain‐
191       ers-storage.conf(5).
192
193
194       Overriding  this  option causes the storage-opt settings in containers-
195       storage.conf(5) to be ignored.  The user must  specify  additional  op‐
196       tions via the --storage-opt flag.
197
198
199   --runroot=value
200       Storage state directory where all state information is stored (default:
201       "/run/containers/storage" for UID  0,  "/run/user/$UID/run"  for  other
202       users).  Default state dir configured in containers-storage.conf(5).
203
204
205   --runtime=value
206       Name  of  the  OCI  runtime as specified in containers.conf or absolute
207       path to the OCI compatible binary used to run containers.
208
209
210   --runtime-flag=flag
211       Adds global flags for the container  runtime.  To  list  the  supported
212       flags,  please  consult  the manpages of the selected container runtime
213       (runc is the default runtime, the manpage to consult is runc(8).   When
214       the  machine  is configured for cgroup V2, the default runtime is crun,
215       the manpage to consult is crun(8).).
216
217
218       Note: Do not pass the leading -- to the flag. To  pass  the  runc  flag
219       --log-format  json  to podman build, the option given can be --runtime-
220       flag log-format=json.
221
222
223   --ssh=value
224       This option allows the user to change the ssh mode, meaning that rather
225       than using the default golang mode, one can instead use --ssh=native to
226       use the installed ssh binary  and  config  file  declared  in  contain‐
227       ers.conf.
228
229
230   --storage-driver=value
231       Storage  driver.  The default storage driver for UID 0 is configured in
232       containers-storage.conf(5) in rootless mode), and is vfs  for  non-root
233       users  when  fuse-overlayfs is not available.  The STORAGE_DRIVER envi‐
234       ronment variable overrides the default.  The --storage-driver specified
235       driver overrides all.
236
237
238       Overriding  this  option causes the storage-opt settings in containers-
239       storage.conf(5) to be ignored.  The user must  specify  additional  op‐
240       tions via the --storage-opt flag.
241
242
243   --storage-opt=value
244       Specify  a  storage  driver  option. Default storage driver options are
245       configured in containers-storage.conf(5). The STORAGE_OPTS  environment
246       variable  overrides  the  default.  The --storage-opt specified options
247       override all. Specify --storage-opt="" so no storage options is used.
248
249
250   --syslog
251       Output logging information to syslog as well as  the  console  (default
252       false).
253
254
255       On remote clients, including Mac and Windows (excluding WSL2) machines,
256       logging is directed to the file $HOME/.config/containers/podman.log.
257
258
259   --tmpdir=path
260       Path to the tmp directory, for  libpod  runtime  content.  Defaults  to
261       $XDG_RUNTIME_DIR/libpod/tmp as rootless and /run/libpod/tmp as rootful.
262
263
264       NOTE  --tmpdir  is not used for the temporary storage of downloaded im‐
265       ages.  Use the environment variable  TMPDIR  to  change  the  temporary
266       storage location of downloaded container images. Podman defaults to use
267       /var/tmp.
268
269
270   --transient-store
271       Enables a global transient storage mode where all container metadata is
272       stored  on  non-persistent  media  (i.e.  in  the location specified by
273       --runroot).  This mode allows starting containers faster,  as  well  as
274       guaranteeing  a  fresh  state  on  boot in case of unclean shutdowns or
275       other problems. However it is not compatible with a  traditional  model
276       where containers persist across reboots.
277
278
279       Default value for this is configured in containers-storage.conf(5).
280
281
282   --url=value
283       URL  to  access  Podman service (default from containers.conf, rootless
284       unix://run/user/$UID/podman/podman.sock  or  as  root   unix://run/pod‐
285       man/podman.sock).   Setting this option switches the --remote option to
286       true.
287
288
289CONTAINER_HOST  is  of  the  format  <schema>://[<user[:<pass‐
290                word>]@]<host>[:<port>][<path>]
291
292
293
294       Details:
295        - schema is one of:
296          *  ssh (default): a local unix(7) socket on the named host and port,
297       reachable via SSH
298          * tcp: an unencrypted, unauthenticated TCP connection to  the  named
299       host and port
300          * unix: a local unix(7) socket at the specified path, or the default
301       for the user
302        - user defaults to either root or the current running user (ssh only)
303        - password has no default (ssh only)
304        - host must be provided and is either the IP or name  of  the  machine
305       hosting the Podman service (ssh and tcp)
306        - port defaults to 22 (ssh and tcp)
307        -    path    defaults    to    either    /run/podman/podman.sock,   or
308       /run/user/$UID/podman/podman.sock if running rootless (unix),  or  must
309       be explicitly specified (ssh)
310
311
312       URL value resolution precedence:
313        - command line value
314        - environment variable CONTAINER_HOST
315        -  engine.service_destinations table in containers.conf, excluding the
316       /usr/share/containers directory
317        - unix://run/podman/podman.sock
318
319
320       Remote connections use local containers.conf for default.
321
322
323       Some example URL values in valid formats:
324        - unix://run/podman/podman.sock
325        - unix://run/user/$UID/podman/podman.sock
326        - ssh://notroot@localhost:22/run/user/$UID/podman/podman.sock
327        - ssh://root@localhost:22/run/podman/podman.sock
328        - tcp://localhost:34451
329        - tcp://127.0.0.1:34451
330
331
332   --version, -v
333       Print the version
334
335
336   --volumepath=value
337       Volume directory where builtin volume information is  stored  (default:
338       "/var/lib/containers/storage/volumes"    for    UID    0,   "$HOME/.lo‐
339       cal/share/containers/storage/volumes" for other users). Default  volume
340       path can be overridden in containers.conf.
341
342

Environment Variables

344       Podman  can  set up environment variables from env of [engine] table in
345       containers.conf. These variables can be overridden by passing  environ‐
346       ment variables before the podman commands.
347
348
349   CONTAINERS_CONF
350       Set default locations of containers.conf file
351
352
353   CONTAINERS_REGISTRIES_CONF
354       Set default location of the registries.conf file.
355
356
357   CONTAINERS_STORAGE_CONF
358       Set default location of the storage.conf file.
359
360
361   CONTAINER_CONNECTION
362       Override  default --connection value to access Podman service. Also en‐
363       abled --remote option.
364
365
366   CONTAINER_HOST
367       Set default --url value to access Podman service. Also enabled --remote
368       option.
369
370
371   CONTAINER_SSHKEY
372       Set default --identity path to ssh key file value used to access Podman
373       service.
374
375
376   STORAGE_DRIVER
377       Set default --storage-driver value.
378
379
380   STORAGE_OPTS
381       Set default --storage-opts value.
382
383
384   TMPDIR
385       Set the temporary storage location of downloaded container images. Pod‐
386       man defaults to use /var/tmp.
387
388
389   XDG_CONFIG_HOME
390       In Rootless mode configuration files are read from XDG_CONFIG_HOME when
391       specified,  otherwise  in  the  home  directory  of  the   user   under
392       $HOME/.config/containers.
393
394
395   XDG_DATA_HOME
396       In  Rootless mode images are pulled under XDG_DATA_HOME when specified,
397       otherwise  in  the  home  directory  of  the  user   under   $HOME/.lo‐
398       cal/share/containers/storage.
399
400
401   XDG_RUNTIME_DIR
402       In  Rootless  mode temporary configuration data is stored in ${XDG_RUN‐
403       TIME_DIR}/containers.
404
405

Remote Access

407       The Podman command can be used with remote services using the  --remote
408       flag.  Connections  can be made using local unix domain sockets, ssh or
409       directly to tcp sockets. When specifying the podman --remote flag, only
410       the  global  options  --url,  --identity, --log-level, --connection are
411       used.
412
413
414       Connection information can also be managed  using  the  containers.conf
415       file.
416
417

Exit Codes

419       The  exit  code  from  podman gives information about why the container
420       failed to run or why it exited.  When podman commands exit with a  non-
421       zero code, the exit codes follow the chroot standard, see below:
422
423
424       125 The error is with podman itself
425
426
427              $ podman run --foo busybox; echo $?
428              Error: unknown flag: --foo
429              125
430
431
432
433       126 Executing a container command and the command cannot be invoked
434
435
436              $ podman run busybox /etc; echo $?
437              Error: container_linux.go:346: starting container process caused "exec: \"/etc\": permission denied": OCI runtime error
438              126
439
440
441
442       127 Executing a container command and the command cannot be found
443
444
445              $ podman run busybox foo; echo $?
446              Error: container_linux.go:346: starting container process caused "exec: \"foo\": executable file not found in $PATH": OCI runtime error
447              127
448
449
450
451       Exit code otherwise, podman returns the exit code of the container com‐
452       mand
453
454
455              $ podman run busybox /bin/sh -c 'exit 3'; echo $?
456              3
457
458
459

COMMANDS

461       ┌──────────────────────┬────────────────────────────────┐
462Command               Description                    
463       ├──────────────────────┼────────────────────────────────┤
464podman-attach(1)      │ Attach to a running container. │
465       ├──────────────────────┼────────────────────────────────┤
466podman-auto-update(1) │ Auto update containers accord‐ │
467       │                      │ ing  to their auto-update pol‐ │
468       │                      │ icy                            │
469       ├──────────────────────┼────────────────────────────────┤
470podman-build(1)       │ Build a container image  using │
471       │                      │ a Containerfile.               │
472       ├──────────────────────┼────────────────────────────────┤
473podman-farm(1)        │ Farm  out  builds  to machines │
474       │                      │ running podman  for  different │
475       │                      │ architectures                  │
476       ├──────────────────────┼────────────────────────────────┤
477podman-commit(1)      │ Create  new image based on the │
478       │                      │ changed container.             │
479       ├──────────────────────┼────────────────────────────────┤
480podman-completion(1)  │ Generate   shell    completion │
481       │                      │ scripts                        │
482       ├──────────────────────┼────────────────────────────────┤
483podman-compose(1)     │ Run  Compose  workloads via an │
484       │                      │ external compose provider.     │
485       ├──────────────────────┼────────────────────────────────┤
486podman-container(1)   │ Manage containers.             │
487       ├──────────────────────┼────────────────────────────────┤
488podman-cp(1)          │ Copy files/folders  between  a │
489       │                      │ container    and   the   local │
490       │                      │ filesystem.                    │
491       ├──────────────────────┼────────────────────────────────┤
492podman-create(1)      │ Create a new container.        │
493       ├──────────────────────┼────────────────────────────────┤
494podman-diff(1)        │ Inspect changes on a container │
495       │                      │ or image's filesystem.         │
496       ├──────────────────────┼────────────────────────────────┤
497podman-events(1)      │ Monitor Podman events          │
498       ├──────────────────────┼────────────────────────────────┤
499podman-exec(1)        │ Execute a command in a running │
500       │                      │ container.                     │
501       ├──────────────────────┼────────────────────────────────┤
502podman-export(1)      │ Export a container's  filesys‐ │
503       │                      │ tem contents as a tar archive. │
504       ├──────────────────────┼────────────────────────────────┤
505podman-generate(1)    │ Generate structured data based │
506       │                      │ on containers,  pods  or  vol‐ │
507       │                      │ umes.                          │
508       ├──────────────────────┼────────────────────────────────┤
509podman-healthcheck(1) │ Manage  healthchecks  for con‐ │
510       │                      │ tainers                        │
511       ├──────────────────────┼────────────────────────────────┤
512podman-history(1)     │ Show the history of an image.  │
513       ├──────────────────────┼────────────────────────────────┤
514podman-image(1)       │ Manage images.                 │
515       ├──────────────────────┼────────────────────────────────┤
516podman-images(1)      │ List images in local storage.  │
517       ├──────────────────────┼────────────────────────────────┤
518podman-import(1)      │ Import a tarball and  save  it │
519       │                      │ as a filesystem image.         │
520       ├──────────────────────┼────────────────────────────────┤
521podman-info(1)        │ Display  Podman related system │
522       │                      │ information.                   │
523       ├──────────────────────┼────────────────────────────────┤
524podman-init(1)        │ Initialize one  or  more  con‐ │
525       │                      │ tainers                        │
526       ├──────────────────────┼────────────────────────────────┤
527podman-inspect(1)     │ Display  a  container,  image, │
528       │                      │ volume, network, or pod's con‐ │
529       │                      │ figuration.                    │
530       ├──────────────────────┼────────────────────────────────┤
531podman-kill(1)        │ Kill  the  main process in one │
532       │                      │ or more containers.            │
533       ├──────────────────────┼────────────────────────────────┤
534podman-load(1)        │ Load image(s) from a  tar  ar‐ │
535       │                      │ chive into container storage.  │
536       ├──────────────────────┼────────────────────────────────┤
537podman-login(1)       │ Log  in  to  a  container reg‐ │
538       │                      │ istry.                         │
539       ├──────────────────────┼────────────────────────────────┤
540podman-logout(1)      │ Log out of  a  container  reg‐ │
541       │                      │ istry.                         │
542       ├──────────────────────┼────────────────────────────────┤
543podman-logs(1)        │ Display  the  logs  of  one or │
544       │                      │ more containers.               │
545       ├──────────────────────┼────────────────────────────────┤
546podman-machine(1)     │ Manage  Podman's  virtual  ma‐ │
547       │                      │ chine                          │
548       ├──────────────────────┼────────────────────────────────┤
549podman-manifest(1)    │ Create and manipulate manifest │
550       │                      │ lists and image indexes.       │
551       ├──────────────────────┼────────────────────────────────┤
552podman-mount(1)       │ Mount  a  working  container's │
553       │                      │ root filesystem.               │
554       ├──────────────────────┼────────────────────────────────┤
555podman-network(1)     │ Manage Podman networks.        │
556       ├──────────────────────┼────────────────────────────────┤
557podman-pause(1)       │ Pause one or more containers.  │
558       ├──────────────────────┼────────────────────────────────┤
559podman-kube(1)        │ Play  containers, pods or vol‐ │
560       │                      │ umes based on a structured in‐ │
561       │                      │ put file.                      │
562       ├──────────────────────┼────────────────────────────────┤
563podman-pod(1)         │ Management  tool for groups of │
564       │                      │ containers, called pods.       │
565       ├──────────────────────┼────────────────────────────────┤
566podman-port(1)        │ List port mappings for a  con‐ │
567       │                      │ tainer.                        │
568       ├──────────────────────┼────────────────────────────────┤
569podman-ps(1)          │ Print  out  information  about │
570       │                      │ containers.                    │
571       ├──────────────────────┼────────────────────────────────┤
572podman-pull(1)        │ Pull an image from a registry. │
573       ├──────────────────────┼────────────────────────────────┤
574podman-push(1)        │ Push an image,  manifest  list │
575       │                      │ or   image  index  from  local │
576       │                      │ storage to elsewhere.          │
577       ├──────────────────────┼────────────────────────────────┤
578podman-rename(1)      │ Rename an existing container.  │
579       ├──────────────────────┼────────────────────────────────┤
580podman-restart(1)     │ Restart one or  more  contain‐ │
581       │                      │ ers.                           │
582       ├──────────────────────┼────────────────────────────────┤
583podman-rm(1)          │ Remove one or more containers. │
584       ├──────────────────────┼────────────────────────────────┤
585podman-rmi(1)         │ Remove  one  or  more  locally │
586       │                      │ stored images.                 │
587       ├──────────────────────┼────────────────────────────────┤
588podman-run(1)         │ Run a command in  a  new  con‐ │
589       │                      │ tainer.                        │
590       ├──────────────────────┼────────────────────────────────┤
591podman-save(1)        │ Save image(s) to an archive.   │
592       ├──────────────────────┼────────────────────────────────┤
593podman-search(1)      │ Search  a  registry for an im‐ │
594       │                      │ age.                           │
595       ├──────────────────────┼────────────────────────────────┤
596podman-secret(1)      │ Manage podman secrets.         │
597       ├──────────────────────┼────────────────────────────────┤
598podman-start(1)       │ Start one or more containers.  │
599       ├──────────────────────┼────────────────────────────────┤
600podman-stats(1)       │ Display a live stream  of  one │
601       │                      │ or  more  container's resource │
602       │                      │ usage statistics.              │
603       ├──────────────────────┼────────────────────────────────┤
604podman-stop(1)        │ Stop one or more running  con‐ │
605       │                      │ tainers.                       │
606       ├──────────────────────┼────────────────────────────────┤
607podman-system(1)      │ Manage podman.                 │
608       ├──────────────────────┼────────────────────────────────┤
609podman-tag(1)         │ Add  an  additional  name to a │
610       │                      │ local image.                   │
611       ├──────────────────────┼────────────────────────────────┤
612podman-top(1)         │ Display the running  processes │
613       │                      │ of a container.                │
614       ├──────────────────────┼────────────────────────────────┤
615podman-unmount(1)     │ Unmount  a working container's │
616       │                      │ root filesystem.               │
617       ├──────────────────────┼────────────────────────────────┤
618podman-unpause(1)     │ Unpause one or  more  contain‐ │
619       │                      │ ers.                           │
620       ├──────────────────────┼────────────────────────────────┤
621podman-unshare(1)     │ Run a command inside of a mod‐ │
622       │                      │ ified user namespace.          │
623       ├──────────────────────┼────────────────────────────────┤
624podman-untag(1)       │ Remove one or more names  from │
625       │                      │ a locally-stored image.        │
626       ├──────────────────────┼────────────────────────────────┤
627podman-update(1)      │ Update  the  cgroup configura‐ │
628       │                      │ tion of a given container.     │
629       ├──────────────────────┼────────────────────────────────┤
630podman-version(1)     │ Display the Podman version in‐ │
631       │                      │ formation.                     │
632       ├──────────────────────┼────────────────────────────────┤
633podman-volume(1)      │ Simple   management  tool  for │
634       │                      │ volumes.                       │
635       ├──────────────────────┼────────────────────────────────┤
636podman-wait(1)        │ Wait on one or more containers │
637       │                      │ to  stop  and print their exit │
638       │                      │ codes.                         │
639       └──────────────────────┴────────────────────────────────┘
640

CONFIGURATION FILES

642       containers.conf  (/usr/share/containers/containers.conf,  /etc/contain‐
643       ers/containers.conf, $HOME/.config/containers/containers.conf)
644
645
646       Podman  has  builtin  defaults for command line options. These defaults
647       can be overridden using the containers.conf configuration files.
648
649
650       Distributions ship the /usr/share/containers/containers.conf file  with
651       their default settings. Administrators can override fields in this file
652       by creating the /etc/containers/containers.conf file.  Users  can  fur‐
653       ther  modify defaults by creating the $HOME/.config/containers/contain‐
654       ers.conf file. Podman merges its builtin defaults  with  the  specified
655       fields  from  these files, if they exist. Fields specified in the users
656       file override the administrator's file, which overrides  the  distribu‐
657       tion's file, which override the built-in defaults.
658
659
660       Podman uses builtin defaults if no containers.conf file is found.
661
662
663       If  the  CONTAINERS_CONF environment variable is set, then its value is
664       used for the containers.conf file rather than the default.
665
666
667       mounts.conf (/usr/share/containers/mounts.conf)
668
669
670       The mounts.conf file specifies volume mount directories that are  auto‐
671       matically  mounted  inside  containers when executing the podman run or
672       podman start commands. Administrators can override the defaults file by
673       creating /etc/containers/mounts.conf.
674
675
676       When  Podman  runs  in  rootless  mode, the file $HOME/.config/contain‐
677       ers/mounts.conf overrides the default if it exists.  For  details,  see
678       containers-mounts.conf(5).
679
680
681       policy.json (/etc/containers/policy.json)
682
683
684       Signature  verification  policy  files are used to specify policy, e.g.
685       trusted keys, applicable when deciding whether to accept an  image,  or
686       individual signatures of that image, as valid.
687
688
689       registries.conf   (/etc/containers/registries.conf,  $HOME/.config/con‐
690       tainers/registries.conf)
691
692
693       registries.conf is the configuration file which  specifies  which  con‐
694       tainer registries is consulted when completing image names which do not
695       include a registry or domain portion.
696
697
698       Non root users of Podman can create  the  $HOME/.config/containers/reg‐
699       istries.conf file to be used instead of the system defaults.
700
701
702       If the CONTAINERS_REGISTRIES_CONF environment variable is set, then its
703       value is used for the registries.conf file rather than the default.
704
705
706       storage.conf   (/etc/containers/storage.conf,    $HOME/.config/contain‐
707       ers/storage.conf)
708
709
710       storage.conf is the storage configuration file for all tools using con‐
711       tainers/storage
712
713
714       The storage configuration file specifies all of the available container
715       storage options for tools using shared container storage.
716
717
718       When  Podman  runs  in  rootless  mode, the file $HOME/.config/contain‐
719       ers/storage.conf is used instead of the system defaults.
720
721
722       If the CONTAINERS_STORAGE_CONF environment variable is  set,  then  its
723       value is used for the storage.conf file rather than the default.
724
725

Rootless mode

727       Podman  can also be used as non-root user. When podman runs in rootless
728       mode, a user namespace is automatically created for the  user,  defined
729       in /etc/subuid and /etc/subgid.
730
731
732       Containers  created  by  a non-root user are not visible to other users
733       and are not seen or managed by Podman running as root.
734
735
736       It is required to have multiple UIDS/GIDS set for a user.  Be sure  the
737       user is present in the files /etc/subuid and /etc/subgid.
738
739
740       Execute the following commands to add the ranges to the files
741
742
743              $ sudo usermod --add-subuids 10000-75535 USERNAME
744              $ sudo usermod --add-subgids 10000-75535 USERNAME
745
746
747
748       Or just add the content manually.
749
750
751              $ echo USERNAME:10000:65536 >> /etc/subuid
752              $ echo USERNAME:10000:65536 >> /etc/subgid
753
754
755
756       See the subuid(5) and subgid(5) man pages for more information.
757
758
759       Images  are pulled under XDG_DATA_HOME when specified, otherwise in the
760       home directory of the user under .local/share/containers/storage.
761
762
763       Currently slirp4netns or pasta is required to be installed to create  a
764       network  device,  otherwise rootless containers need to run in the net‐
765       work namespace of the host.
766
767
768       In certain environments like HPC (High  Performance  Computing),  users
769       cannot  take  advantage  of  the  additional  UIDs  and  GIDs  from the
770       /etc/subuid and /etc/subgid systems.   However,  in  this  environment,
771       rootless  Podman can operate with a single UID.  To make this work, set
772       the ignore_chown_errors option in the containers-storage.conf(5)  file.
773       This  option  tells Podman when pulling an image to ignore chown errors
774       when attempting to change a file in a container image to match the non-
775       root  UID  in  the  image. This means all files get saved as the user's
776       UID. Note this can cause issues when running the container.
777
778
779   NOTE: Unsupported file systems in rootless mode
780       The Overlay file system (OverlayFS) is not supported with kernels prior
781       to  5.12.9 in rootless mode.  The fuse-overlayfs package is a tool that
782       provides the functionality of OverlayFS in user namespace  that  allows
783       mounting  file  systems in rootless environments.  It is recommended to
784       install the fuse-overlayfs package.  In rootless mode, Podman automati‐
785       cally  uses  the  fuse-overlayfs  program  as  the mount_program if in‐
786       stalled, as long as the $HOME/.config/containers/storage.conf file  was
787       not  previously  created.   If  storage.conf exists in the homedir, add
788       mount_program = "/usr/bin/fuse-overlayfs" under  [storage.options.over‐
789       lay] to enable this feature.
790
791
792       The  Network  File System (NFS) and other distributed file systems (for
793       example: Lustre, Spectrum  Scale,  the  General  Parallel  File  System
794       (GPFS))  are  not supported when running in rootless mode as these file
795       systems do not understand user namespace.  However, rootless Podman can
796       make  use  of  an  NFS  Homedir by modifying the $HOME/.config/contain‐
797       ers/storage.conf to have the graphroot  option  point  to  a  directory
798       stored on local (Non NFS) storage.
799
800
801       For more information, see the Podman Troubleshooting Page.
802
803

SEE ALSO

805       containers-mounts.conf(5),      containers.conf(5),     containers-reg‐
806       istries.conf(5), containers-storage.conf(5), buildah(1),  oci-hooks(5),
807       containers-policy.json(5),   crun(1),  runc(8),  subuid(5),  subgid(5),
808       slirp4netns(1), pasta(1), conmon(8)
809
810

HISTORY

812       Dec  2016,  Originally  compiled   by   Dan   Walsh   dwalsh@redhat.com
813       ⟨mailto:dwalsh@redhat.com⟩
814
815
816
817                                                                     podman(1)
Impressum