podman-systemd.unit(5) File Formats Manual podman-systemd.unit(5) (NAME) podman-systemd.unit - systemd Podman Quadlet (SYNOPSIS) name.artifact, name.build, name.container, name.image, name.kube, name.network, name.pod, name.volume o .build -- Containerfile. podman- build.unit(5) . o .container -- . podman-container.unit(5) . o .image -- (Pull) . podman-image.unit(5) . o .kube -- YAML podman-kube.unit(5). o .network -- . podman-network.unit(5) . o .pod -- . podman- pod.unit(5) . o .volume -- (Volume) . podman-volume.unit(5) . (Rootful) Quadlet . /run /etc /usr : : o /run/containers/systemd/ : o /etc/containers/systemd/ : o /usr/share/containers/systemd/ (Rootless) Quadlet : o $XDG_RUNTIME_DIR/containers/systemd/ o $XDG_CONFIG_HOME/containers/systemd/ ~/.config/containers/systemd/ o /etc/containers/systemd/users/${UID} o /etc/containers/systemd/users/ o /usr/share/containers/systemd/users/${UID} o /usr/share/containers/systemd/users/ Quadlet . (DESCRIPTION) ( ) systemd (generator) systemd . ( systemctl daemon-reload ) systemd . systemd . systemd . [Service] [Install] systemd . systemd.unit(5) . .container .volume .network .build .pod .kube .artifact .service . ( /usr/) . systemctl systemd . systemctl {--user} list-unit-files . /sbin/nologin sudo systemctl --machine username@ --user list-unit-files . systemd . ( [Container]) systemd cgroup . (Drop-ins) systemd . (foo.container) .d (foo.container.d) .conf . (container.d) . ("-") (foo-bar-baz.container) (foo-.container.d foo-bar-.container.d). (foo-bar-baz.container.d/10-override.conf foo-bar-.container.d/10-override.conf foo-.service.d/10-override.conf container.d/10-override.conf ). . . Quadlet /etc/containers/systemd/users /usr/share/containers/users Quadlet . Quadlet /etc/containers/systemd/users/${UID}/ /usr/share/containers/users/${UID} UID Quadlet . /etc/containers/systemd/users/${UID}/ /usr/share/containers/users/${UID} Quadlet . Quadlet User Group DynamicUser systemd . Quadlet . Quadlet systemd . TimeoutStartSec . Type=oneshot ( ) TimeoutStartSec . TimeoutStartSec systemd.service(5) . Quadlet . [Service] TimeoutStartSec=900 Quadlet cgroup v2 podman info --format {{.Host.CgroupsVersion}} . (Service Type) Type Service Quadlet . Quadlet .container .kube notify .pod forking .volume .network .build .image .artifact oneshot . podman Type .container .kube oneshot . Type=oneshot RemainAfterExit=yes inactive (dead) . (Timer) RemainAfterExit=yes "started" . systemd.service(5) . : - .container (entrypoint) o .kube YAML PVC systemd (transient) . systemctl enable . [Install] systemctl enable . : [Install] WantedBy=default.target Alias WantedBy RequiredBy UpheldBy . Install (Drop-in) . . (Template files) . "basename@instancename.service" "basename@.service" . . Quadlet . Quadlet systemd systemd . "foo@.container" "foo@.service" "systemctl start foo@bar.service" . "foo@instance.container" . Quadlet (foo@instance.container.d) (foo@.container.d) . . ( foo@bar.container) . (foo@.container) . [Install] DefaultInstance= . sleep@.container : [Unit] Description=A templated sleepy container [Container] Image=quay.io/fedora/fedora Exec=sleep %i [Service] # Restart service when sleep finishes Restart=always [Install] WantedBy=multi-user.target DefaultInstance=100 sleep@100.service ( ). systemctl start sleep@50.service Wants=sleep@50.service . ln -s sleep@.container sleep@10.container . sleep@10.container.d/10-image.conf : [Container] Image=quay.io/centos/centos Quadlet Quadlet Quadlet . foo@.container (mount) . Quadlet foo-data@.volume ( ) foo@.container : foo-data@.volume: [Volume] # Optional: without an explicit VolumeName, Quadlet auto-generates one with a # "systemd-" prefix (e.g. systemd-foo-data-%i for foo-data@.volume). # This does not affect how you reference this Quadlet from other Quadlets. VolumeName=my-name-%i foo@.container: [Container] Volume=foo-data@.volume:/mnt/path foo-data@%i.volume foo-data@.volume . Quadlet ( systemd) podman run .service . ExecStart Quadlet : ExecStart=/usr/bin/podman run ... -v my-name-%i:/mnt/path ... (Relative paths) Systemd Quadlet % . ./ . EnvironmentFile=%n/env EnvironmentFile=./%n/env . ( ) systemctl start {--user} . "Failed to start example.service: Unit example.service not found." Podman Quadlet . / : /usr/lib/systemd/system-generators/podman-system-generator {--user} --dryrun : systemd-analyze {--user} --generators=true verify example.service . systemd-analyze(1) . QUADLET_UNIT_DIRS : QUADLET_UNIT_DIRS= /usr/lib/systemd/system-generators/podman-system-generator {--user} --dryrun Quadlet . Quadlet After= Wants= network-online.target ( ) podman-user-wait-network- online.service ( ) . . podman-user-wait-network-online.service () network-online.target . network-online.target systemctl is-active network-online.target . DefaultDependencies=false Quadlet . [Unit] systemd . Quadlet Quadlet Wants Requires Requisite BindsTo PartOf Upholds Conflicts Before After [Unit] Quadlet . fedora.container basic.container . [Unit] After=basic.container Requires=basic.container [Container] Image=registry.fedoraproject.org/fedora:41 Quadlet ( VolumeName .volume PodName .pod). systemd ( $N) Quadlet . [Container] .container [Container] . ExecStart=podman run image- name . systemd . systemd- $name.container $name.service systemd-$name . ContainerName . Image . [Container] : +----------------------------------------+-----------------------------------------------------------------------------------+ | [Container] | podman run | +----------------------------------------+-----------------------------------------------------------------------------------+ |AddCapability=CAP | --cap-add CAP | +----------------------------------------+-----------------------------------------------------------------------------------+ |AddDevice=/dev/foo | --device /dev/foo | +----------------------------------------+-----------------------------------------------------------------------------------+ |AddHost=example.com:192.168.10.11 | --add-host example.com:192.168.10.11 | +----------------------------------------+-----------------------------------------------------------------------------------+ |Annotation="XYZ" | --annotation "XYZ" | +----------------------------------------+-----------------------------------------------------------------------------------+ |AppArmor="alternate-profile" | --security-opt apparmor=alternate-profile | +----------------------------------------+-----------------------------------------------------------------------------------+ |AutoUpdate=registry | --label "io.containers.autoupdate=registry" | +----------------------------------------+-----------------------------------------------------------------------------------+ |CgroupsMode=no-conmon | --cgroups=no-conmon | +----------------------------------------+-----------------------------------------------------------------------------------+ |ContainerName=name | --name name | +----------------------------------------+-----------------------------------------------------------------------------------+ |ContainersConfModule=/etc/nvd.conf | --module=/etc/nvd.conf | +----------------------------------------+-----------------------------------------------------------------------------------+ |DNS=192.168.55.1 | --dns=192.168.55.1 | +----------------------------------------+-----------------------------------------------------------------------------------+ |DNSOption=ndots:1 | --dns-option=ndots:1 | +----------------------------------------+-----------------------------------------------------------------------------------+ |DNSSearch=example.com | --dns-search example.com | +----------------------------------------+-----------------------------------------------------------------------------------+ |DropCapability=CAP | --cap-drop=CAP | +----------------------------------------+-----------------------------------------------------------------------------------+ |Entrypoint=/foo.sh | --entrypoint=/foo.sh | +----------------------------------------+-----------------------------------------------------------------------------------+ |Environment=foo=bar | --env foo=bar | +----------------------------------------+-----------------------------------------------------------------------------------+ |EnvironmentFile=/tmp/env | --env-file /tmp/env | +----------------------------------------+-----------------------------------------------------------------------------------+ |EnvironmentHost=true | --env-host | +----------------------------------------+-----------------------------------------------------------------------------------+ |Exec=/usr/bin/command | - | | | /usr/bin/command | +----------------------------------------+-----------------------------------------------------------------------------------+ |ExposeHostPort=50-59 | --expose 50-59 | +----------------------------------------+-----------------------------------------------------------------------------------+ |GIDMap=0:10000:10 | --gidmap=0:10000:10 | +----------------------------------------+-----------------------------------------------------------------------------------+ |GlobalArgs=--log-level=debug | --log-level=debug | +----------------------------------------+-----------------------------------------------------------------------------------+ |Group=1234 | --user UID:1234 | +----------------------------------------+-----------------------------------------------------------------------------------+ |GroupAdd=keep-groups | --group-add=keep-groups | +----------------------------------------+-----------------------------------------------------------------------------------+ |HealthCmd=/usr/bin/command | --health-cmd=/usr/bin/command | +----------------------------------------+-----------------------------------------------------------------------------------+ |HealthInterval=2m | --health-interval=2m | +----------------------------------------+-----------------------------------------------------------------------------------+ |HealthLogDestination=/foo/log | --health-log-destination=/foo/log | +----------------------------------------+-----------------------------------------------------------------------------------+ |HealthMaxLogCount=5 | --health-max-log-count=5 | +----------------------------------------+-----------------------------------------------------------------------------------+ |HealthMaxLogSize=500 | --health-max-log-size=500 | +----------------------------------------+-----------------------------------------------------------------------------------+ |HealthOnFailure=kill | --health-on-failure=kill | +----------------------------------------+-----------------------------------------------------------------------------------+ |HealthRetries=5 | --health-retries=5 | +----------------------------------------+-----------------------------------------------------------------------------------+ |HealthStartPeriod=1m | --health-start-period=1m | +----------------------------------------+-----------------------------------------------------------------------------------+ |HealthStartupCmd=command | --health-startup-cmd=command | +----------------------------------------+-----------------------------------------------------------------------------------+ |HealthStartupInterval=1m | --health-startup-interval=1m | +----------------------------------------+-----------------------------------------------------------------------------------+ |HealthStartupRetries=8 | --health-startup-retries=8 | +----------------------------------------+-----------------------------------------------------------------------------------+ |HealthStartupSuccess=2 | --health-startup-success=2 | +----------------------------------------+-----------------------------------------------------------------------------------+ |HealthStartupTimeout=1m33s | --health-startup-timeout=1m33s | +----------------------------------------+-----------------------------------------------------------------------------------+ |HealthTimeout=20s | --health-timeout=20s | +----------------------------------------+-----------------------------------------------------------------------------------+ |HostName=example.com | --hostname example.com | +----------------------------------------+-----------------------------------------------------------------------------------+ |HttpProxy=true | --http-proxy=true | +----------------------------------------+-----------------------------------------------------------------------------------+ |Image=ubi8 | - ubi8 | +----------------------------------------+-----------------------------------------------------------------------------------+ |ImageVolume=tmpfs | --image-volume tmpfs | +----------------------------------------+-----------------------------------------------------------------------------------+ |IP=192.5.0.1 | --ip 192.5.0.1 | +----------------------------------------+-----------------------------------------------------------------------------------+ |IP6=2001:db8::1 | --ip6 2001:db8::1 | +----------------------------------------+-----------------------------------------------------------------------------------+ |Label="XYZ" | --label "XYZ" | +----------------------------------------+-----------------------------------------------------------------------------------+ |LogDriver=journald | --log-driver journald | +----------------------------------------+-----------------------------------------------------------------------------------+ |LogOpt=path=/var/log/mykube.json | --log-opt path=/var/log/mykube.json | +----------------------------------------+-----------------------------------------------------------------------------------+ |Mask=/proc/sys/foo:/proc/sys/bar | --security-opt mask=/proc/sys/foo:/proc/sys/bar | +----------------------------------------+-----------------------------------------------------------------------------------+ |Memory=20g | --memory 20g | +----------------------------------------+-----------------------------------------------------------------------------------+ |Mount=type=... | --mount type=... | +----------------------------------------+-----------------------------------------------------------------------------------+ |Network=host | --network host | +----------------------------------------+-----------------------------------------------------------------------------------+ |NetworkAlias=name | --network-alias name | +----------------------------------------+-----------------------------------------------------------------------------------+ |NoNewPrivileges=true | --security-opt no-new-privileges | +----------------------------------------+-----------------------------------------------------------------------------------+ |Notify=true | --sdnotify container | +----------------------------------------+-----------------------------------------------------------------------------------+ |PidsLimit=10000 | --pids-limit 10000 | +----------------------------------------+-----------------------------------------------------------------------------------+ |Pod=pod-name | --pod=pod-name | +----------------------------------------+-----------------------------------------------------------------------------------+ |PodmanArgs=--publish 8080:80 | --publish 8080:80 | +----------------------------------------+-----------------------------------------------------------------------------------+ |PublishPort=8080:80 | --publish 8080:80 | +----------------------------------------+-----------------------------------------------------------------------------------+ |Pull=never | --pull never | +----------------------------------------+-----------------------------------------------------------------------------------+ |ReadOnly=true | --read-only | +----------------------------------------+-----------------------------------------------------------------------------------+ |ReadOnlyTmpfs=true | --read-only-tmpfs | +----------------------------------------+-----------------------------------------------------------------------------------+ |ReloadCmd=/usr/bin/command | ExecReload exec | | | | +----------------------------------------+-----------------------------------------------------------------------------------+ |ReloadSignal=SIGHUP | ExecReload kill | | | | +----------------------------------------+-----------------------------------------------------------------------------------+ |Retry=5 | --retry=5 | +----------------------------------------+-----------------------------------------------------------------------------------+ |RetryDelay=5s | --retry-delay=5s | +----------------------------------------+-----------------------------------------------------------------------------------+ |Rootfs=/var/lib/rootfs | --rootfs /var/lib/rootfs | +----------------------------------------+-----------------------------------------------------------------------------------+ |RunInit=true | --init | +----------------------------------------+-----------------------------------------------------------------------------------+ |SeccompProfile=/tmp/s.json | --security-opt seccomp=/tmp/s.json | +----------------------------------------+-----------------------------------------------------------------------------------+ |Secret=secret | --secret=secret[,opt=opt ...] | +----------------------------------------+-----------------------------------------------------------------------------------+ |SecurityLabelDisable=true | --security-opt label=disable | +----------------------------------------+-----------------------------------------------------------------------------------+ |SecurityLabelFileType=usr_t | --security-opt label=filetype:usr_t | +----------------------------------------+-----------------------------------------------------------------------------------+ |SecurityLabelLevel=s0:c1,c2 | --security-opt label=level:s0:c1,c2 | +----------------------------------------+-----------------------------------------------------------------------------------+ |SecurityLabelNested=true | --security-opt label=nested | +----------------------------------------+-----------------------------------------------------------------------------------+ |SecurityLabelType=spc_t | --security-opt label=type:spc_t | +----------------------------------------+-----------------------------------------------------------------------------------+ |ServiceName=name | systemd name.service | +----------------------------------------+-----------------------------------------------------------------------------------+ |ShmSize=100m | --shm-size=100m | +----------------------------------------+-----------------------------------------------------------------------------------+ |StartWithPod=true | Pod= | | | | +----------------------------------------+-----------------------------------------------------------------------------------+ |StopSignal=SIGINT | --stop-signal=SIGINT | +----------------------------------------+-----------------------------------------------------------------------------------+ |StopTimeout=20 | --stop-timeout=20 | +----------------------------------------+-----------------------------------------------------------------------------------+ |SubGIDMap=gtest | --subgidname=gtest | +----------------------------------------+-----------------------------------------------------------------------------------+ |SubUIDMap=utest | --subuidname=utest | +----------------------------------------+-----------------------------------------------------------------------------------+ |Sysctl=name=value | --sysctl=name=value | +----------------------------------------+-----------------------------------------------------------------------------------+ |Timezone=local | --tz local | +----------------------------------------+-----------------------------------------------------------------------------------+ |Tmpfs=/work | --tmpfs /work | +----------------------------------------+-----------------------------------------------------------------------------------+ |UIDMap=0:10000:10 | --uidmap=0:10000:10 | +----------------------------------------+-----------------------------------------------------------------------------------+ |Ulimit=nofile=1000:10000 | --ulimit nofile=1000:10000 | +----------------------------------------+-----------------------------------------------------------------------------------+ |Unmask=ALL | --security-opt unmask=ALL | +----------------------------------------+-----------------------------------------------------------------------------------+ |User=bin | --user bin | +----------------------------------------+-----------------------------------------------------------------------------------+ |UserNS=keep-id:uid=200,gid=210 | --userns keep-id:uid=200,gid=210 | +----------------------------------------+-----------------------------------------------------------------------------------+ |Volume=/source:/dest | --volume /source:/dest | +----------------------------------------+-----------------------------------------------------------------------------------+ |WorkingDir=$HOME | --workdir $HOME | +----------------------------------------+-----------------------------------------------------------------------------------+ [Container] : AddCapability= (capabilities) . . . : AddCapability=CAP_DAC_OVERRIDE CAP_IPC_OWNER AddDevice= . HOST- DEVICE[:CONTAINER-DEVICE][:PERMISSIONS] HOST-DEVICE CONTAINER-DEVICE PERMISSIONS 'r' 'w' 'm' mknod(2) . - Quadlet . . AddHost= IP /etc/hosts. hostname:ip . --add-host . . Annotation= OCI (OCI annotations) . key=value Environment. . AppArmor= apparmor . unconfined apparmor . AutoUpdate= (podman-auto-update(1)). : o registry: ( quay.io/podman/stable:latest) . . . o local: . systemd . CgroupsMode= cgroups . --cgroups . cgroups Quadlet split (enabled) CLI . ( Pod= ) no-conmon enabled cgroup . ContainerName= () . systemd-%N systemd- . ContainersConfModule= containers.conf(5). --module . . DNS= / DNS . . DNSOption= DNS. . DNSSearch= DNS. DNSSearch=. . . DropCapability= all . . . : DropCapability=CAP_DAC_OVERRIDE CAP_IPC_OWNER Entrypoint= ENTRYPOINT . --entrypoint . JSON . Environment= . systemd . EnvironmentFile= . . podman run . EnvironmentHost= . Exec= podman run . systemd ExecStart= systemd ENTRYPOINT CMD . ENTRYPOINT . args . ExposeHostPort= ( 50-59) . --expose . . GIDMap= GID . --gidmap . . GlobalArgs= podman run . . . . . Group= GID () . GID UserNS GID . : User= Group= --user USER:GROUP . Group= User= . GroupAdd= . keep-groups . --group-add . HealthCmd= . none . --health-cmd . HealthInterval= . disable . --health-interval Podman . HealthLogDestination= (HealthCheck) . local events_logger ( local ). (: local) --health-log-destination Podman . o local: () overlay ( : $runroot/healthcheck.log). o directory: -healthcheck.log . o events_logger: events_logger . . HealthMaxLogCount= ( '0' ). (: ) --Health-max-log-count Podman . HealthMaxLogSize= ( "0" ). (: ) --Health-max-log-size Podman . HealthOnFailure= (unhealthy) . "kill" systemd . (kill) systemd . --health-on-failure Podman . HealthRetries= . --health-retries Podman . HealthStartPeriod= . --health-start-period Podman . HealthStartupCmd= . --health-startup-cmd Podman . HealthStartupInterval= . disable . --health-startup-interval Podman . HealthStartupRetries= . --health-startup-retries Podman . HealthStartupSuccess= . --health-startup-success Podman . HealthStartupTimeout= . --health-startup-timeout Podman . HealthTimeout= . --health-timeout Podman . HostName= . --hostname Podman . HttpProxy= (http_proxy https_proxy ftp_proxy no_proxy) (pull) (build) Podman . ( Podman) true false . . --http-proxy Podman . Image= . (fully qualified) . podman pull . :tag (digest) . : o .image Quadlet .image systemd $name-image.service ( .image) . .image . o .build Quadlet .build systemd $name-build.service . : .build . ImageVolume= Podman . bind . --image-volume Podman . IP= IPv4 10.88.64.128. --ip Podman . IP6= IPv6 fd46:db93:aa76:ac37::10. --ip6 Podman . Label= OCI . key=value Environment. . LogDriver= (log-driver) Podman . --log-driver Podman . LogOpt= (log-opt) Podman . --log-opt Podman . . Mask= : Mask=/path/1:/path/2. . Memory= . Mount= (mount) . --mount Podman type=TYPE,TYPE-SPECIFIC-OPTION[,...] . : o type=volume source .volume Podman .volume . o type=image source .image .image . systemd . : .volume .image . . Network= . --network podman run . host none . : o .network Podman systemd-$name systemd $name-network.service . Quadlet $name.network . : .network . o .container $name.container . systemd $name.service . : .container . . NetworkAlias= . --network-alias podman run . DNS : NetworkAlias=web DNS web . . NoNewPrivileges= ( false) setuid (file capabilities) . Notify= ( false) Podman systemd . . sd_notify Notify true . Notify healthy Podman . HealthCmd . PidsLimit= (pids limit) . --pids- limit Podman . Pod= Quadlet .pod . .pod .pod . Quadlet . PodmanArgs= podman run ( ). Podman . . . . PublishPort= ( 50-59) . --publish Podman . Podman ip:hostPort:containerPort ip::containerPort hostPort:containerPort containerPort ( ). hostPort:containerPort/tcp. tcp udp sctp (rootful) . IP 0.0.0.0 IPv4 IPv6 [::] . Podman . . podman port . . Pull= (pull policy) . --pull Podman . ReadOnly= ( false) . ReadOnlyTmpfs= ( true) ReadOnly true tmpfs - /dev /dev/shm /run /tmp /var/tmp (mount) . ReloadCmd= ExecReload Service podman exec . systemctl reload . ReloadSignal . ReloadSignal= ExecReload Service podman kill . systemctl reload . ReloadCmd . Retry= HTTP. --retry Podman . RetryDelay= . --retry-delay Podman . Rootfs= (rootfs) . Rootfs . Image . rootfs podman run --rootfs overlay . : SELinux rootfs unconfined_u:object_r:container_file_t:s0 . RunInit= ( false) init (reap) . SeccompProfile= seccomp . Podman . JSON unconfined seccomp . Secret= Podman . --secret Podman secret[,opt=opt ...] . SecurityLabelDisable= . SecurityLabelFileType= . SecurityLabelLevel= . SecurityLabelNested= (SecurityLabels) . . SecurityLabelType= . ServiceName= Quadlet systemd Quadlet . Quadlet . : .service . ShmSize= /dev/shm. --shm-size Podman number[unit] . StartWithPod= . true . true // . false . . . : [Install] (target) . . StopSignal= . SIGTERM . --stop-signal Podman . StopTimeout= . : systemd podman rm systemd (kill) . --stop-timeout Podman . SubGIDMap= /etc/subgid. --subgidname Podman . SubUIDMap= /etc/subuid. --subuidname Podman . Sysctl= . Sysctl=name=value . . . : Sysctl=net.ipv6.conf.all.disable_ipv6=1 net.ipv6.conf.all.use_tempaddr=1 Timezone= ( ) . Tmpfs= tmpfs (mount) . --tmpfs Podman CONTAINER-DIR[:OPTIONS] . . UIDMap= UID . --uidmap Podman . . Ulimit= Ulimit. ulimit . . Unmask= (unmask) : unmask=ALL /path/1:/path/2 (/proc/*): ALL Podman . : /proc/acpi /proc/kcore /proc/keys /proc/latency_stats /proc/sched_debug /proc/scsi /proc/timer_list /proc/timer_stats /sys/firmware /sys/fs/selinux. : /proc/asound /proc/bus /proc/fs /proc/irq /proc/sys /proc/sysrq-trigger /sys/fs/cgroup. User= (UID) . UID UserNS UID . : User= Group= --user USER:GROUP Podman . UserNS= . --userns Podman MODE[:OPTIONS,...] . Volume= (mount) . --volume Podman [[SOURCE-VOLUME|HOST-DIR:]CONTAINER- DIR[:OPTIONS]] . SOURCE-VOLUME . Quadlet . : o SOURCE-VOLUME .volume Podman systemd-$name systemd $name-volume.service . .volume . . WorkingDir= . (/) . WORKDIR . -w . Pod [Pod] Pod .pod [Pod] . ExecStartPre=podman pod create Podman . Podman systemd- $name.pod $name-pod.service Podman systemd-$name . PodName . Restart=on-failure . ExitPolicy=stop ( Quadlet) ( ) on-failure . [Service] .pod Restart=always . [Pod] : +-----------------------------------+----------------------------------------------------------------------+ | [Pod] | podman pod create | +-----------------------------------+----------------------------------------------------------------------+ |AddHost=example.com:192.168.10.11 | --add-host example.com:192.168.10.11 | +-----------------------------------+----------------------------------------------------------------------+ |ContainersConfModule=/etc/nvd.conf | --module=/etc/nvd.conf | +-----------------------------------+----------------------------------------------------------------------+ |DNS=192.168.55.1 | --dns=192.168.55.1 | +-----------------------------------+----------------------------------------------------------------------+ |DNSOption=ndots:1 | --dns-option=ndots:1 | +-----------------------------------+----------------------------------------------------------------------+ |DNSSearch=example.com | --dns-search example.com | +-----------------------------------+----------------------------------------------------------------------+ |ExitPolicy=stop | --exit-policy stop | +-----------------------------------+----------------------------------------------------------------------+ |GIDMap=0:10000:10 | --gidmap=0:10000:10 | +-----------------------------------+----------------------------------------------------------------------+ |GlobalArgs=--log-level=debug | --log-level=debug | +-----------------------------------+----------------------------------------------------------------------+ |HostName=name | --hostname=name | +-----------------------------------+----------------------------------------------------------------------+ |IP=192.5.0.1 | --ip 192.5.0.1 | +-----------------------------------+----------------------------------------------------------------------+ |IP6=2001:db8::1 | --ip6 2001:db8::1 | +-----------------------------------+----------------------------------------------------------------------+ |Label="XYZ" | --label "XYZ" | +-----------------------------------+----------------------------------------------------------------------+ |Network=host | --network host | +-----------------------------------+----------------------------------------------------------------------+ |NetworkAlias=name | --network-alias name | +-----------------------------------+----------------------------------------------------------------------+ |PodmanArgs=--cpus=2 | --cpus=2 | +-----------------------------------+----------------------------------------------------------------------+ |PodName=name | --name=name | +-----------------------------------+----------------------------------------------------------------------+ |PublishPort=8080:80 | --publish 8080:80 | +-----------------------------------+----------------------------------------------------------------------+ |ServiceName=name | systemd name.service | +-----------------------------------+----------------------------------------------------------------------+ |ShmSize=100m | --shm-size=100m | +-----------------------------------+----------------------------------------------------------------------+ |StopTimeout=20 | --time=20 | +-----------------------------------+----------------------------------------------------------------------+ |SubGIDMap=gtest | --subgidname=gtest | +-----------------------------------+----------------------------------------------------------------------+ |SubUIDMap=utest | --subuidname=utest | +-----------------------------------+----------------------------------------------------------------------+ |UIDMap=0:10000:10 | --uidmap=0:10000:10 | +-----------------------------------+----------------------------------------------------------------------+ |UserNS=keep-id:uid=200,gid=210 | --userns keep-id:uid=200,gid=210 | +-----------------------------------+----------------------------------------------------------------------+ |Volume=/source:/dest | --volume /source:/dest | +-----------------------------------+----------------------------------------------------------------------+ [Pod] : AddHost= IP /etc/hosts . hostname:ip . --add-host Podman . . ContainersConfModule= containers.conf(5) . --module Podman . . DNS= DNS/ . . DNSOption= DNS . . DNSSearch= DNS . DNSSearch=. . . ExitPolicy= . quadlet stop . ExitPolicy=continue . GIDMap= GID . --gidmap Podman . . GlobalArgs= podman pod . Podman . . . . HostName= . IP /etc/hosts ( --add-host ). --hostname Podman . IP= IPv4 10.88.64.128. --ip Podman . IP6= IPv6 fd46:db93:aa76:ac37::10. --ip6 Podman . Label= OCI . key=value Environment. . Network= . --network podman pod create . host none . : o .network Quadlet Quadlet .network . Quadlet Network systemd-$name . systemd .network . : .network . . NetworkAlias= . --network-alias podman pod create . DNS : NetworkAlias=web DNS web . . PodmanArgs= podman pod create . Podman . . . . PodName= () Podman. systemd- $name.pod Podman systemd-$name . . PodName . PublishPort= ( 50-59) . --publish Podman . Podman ip:hostPort:containerPort ip::containerPort hostPort:containerPort containerPort ( ). hostPort:containerPort/tcp. tcp udp sctp (rootful) . IP 0.0.0.0 IPv4 IPv6 [::] . Podman . . podman port . host Network=host PublishPort= . . ServiceName= Quadlet systemd -pod Quadlet . Quadlet . : .service . ShmSize= /dev/shm. --shm-size Podman number[unit] . StopTimeout= . --time podman pod stop . (kill) . SubGIDMap= /etc/subgid. --subgidname Podman . SubUIDMap= /etc/subuid. --subuidname Podman . UIDMap= UID . --uidmap Podman . . UserNS= . --userns Podman MODE[:OPTIONS,...] . Volume= (mount) . --volume Podman [[SOURCE-VOLUME|HOST-DIR:]CONTAINER-DIR[:OPTIONS]] . SOURCE-VOLUME . Quadlet . : o SOURCE-VOLUME .volume Quadlet Quadlet .volume . Quadlet Volume systemd-$name . : .volume . systemd .volume $name-volume.service .volume . . Kube [Kube] Kube .kube [Kube] podman kube play . ExecStart=podman kube play file.yml Podman . systemd . Yaml YAML . [Kube] : +-----------------------------------+--------------------------------------------------------------------------------------------------+ | [Kube] | podman kube play | +-----------------------------------+--------------------------------------------------------------------------------------------------+ |AutoUpdate=registry | --annotation "io.containers.autoupdate=registry" | +-----------------------------------+--------------------------------------------------------------------------------------------------+ |ConfigMap=/tmp/config.map | --config-map /tmp/config.map | +-----------------------------------+--------------------------------------------------------------------------------------------------+ |ContainersConfModule=/etc/nvd.conf | --module=/etc/nvd.conf | +-----------------------------------+--------------------------------------------------------------------------------------------------+ |ExitCodePropagation=how | | +-----------------------------------+--------------------------------------------------------------------------------------------------+ |GlobalArgs=--log-level=debug | --log-level=debug | +-----------------------------------+--------------------------------------------------------------------------------------------------+ |KubeDownForce=true | --force ( podman kube down) | +-----------------------------------+--------------------------------------------------------------------------------------------------+ |LogDriver=journald | --log-driver journald | +-----------------------------------+--------------------------------------------------------------------------------------------------+ |Network=host | --network host | +-----------------------------------+--------------------------------------------------------------------------------------------------+ |PodmanArgs=--annotation=key=value | --annotation=key=value | +-----------------------------------+--------------------------------------------------------------------------------------------------+ |PublishPort=8080:80 | --publish 8080:80 | +-----------------------------------+--------------------------------------------------------------------------------------------------+ |ServiceName=name | systemd name.service | +-----------------------------------+--------------------------------------------------------------------------------------------------+ |SetWorkingDirectory=yaml | WorkingDirectory YAML | +-----------------------------------+--------------------------------------------------------------------------------------------------+ |UserNS=keep-id:uid=200,gid=210 | --userns keep-id:uid=200,gid=210 | +-----------------------------------+--------------------------------------------------------------------------------------------------+ |Yaml=/tmp/kube.yaml | podman kube play /tmp/kube.yaml | +-----------------------------------+--------------------------------------------------------------------------------------------------+ [Kube] : AutoUpdate= (podman- auto-update(1)). AutoUpdate . : o registry: ( quay.io/podman/stable:latest) . (pull) . Podman / . o local: Podman . Podman systemd Quadlet . o name/(local|registry): Podman local registry . ConfigMap= YAML (ConfigMap) --configmap podman kube play . configmap . . ContainersConfModule= containers.conf(5) . --module Podman . . ExitCodePropagation= PID systemd . : - all: ( ) - any: - none: none . GlobalArgs= podman kube . Podman . . (escape) . . KubeDownForce= podman kube down . --force Podman . LogDriver= (log-driver) Podman . --log-driver Podman . Network= . --network podman kube play . host none . : o name .network Podman systemd-$name systemd $name-network.service . Quadlet $name.network . : .network . . PodmanArgs= podman kube play ( yaml ) . Podman . . . . PublishPort= () ( 50-59) . --publish podman kube play . Podman ip:hostPort:containerPort ip::containerPort hostPort:containerPort containerPort ( ). hostPort:containerPort/tcp. tcp udp sctp (rootful) . IP 0.0.0.0 IPv4 (bind) [::] IPv6 . YAML . . . ServiceName= Quadlet systemd Quadlet . Quadlet . .service . SetWorkingDirectory= WorkingDirectory Service Systemd . podman kube play (resolve) . yaml unit YAML Quadlet . WorkingDirectory Service .kube . WorkingDirectory Service SetWorkingDirectory Quadlet . : * Yaml unit . UserNS= (user namespace) . --userns Podman MODE[:OPTIONS,...] . Yaml= YAML . . [Network] .network [Network] Podman . . Podman systemd- $NAME.network Podman systemd-$NAME $NAME-network.service . NetworkName . podman . NetworkDeleteOnStop=true . . Podman . [Network] : +--------------------------------------+----------------------------------------------------------------------+ | [Network] | podman network create | +--------------------------------------+----------------------------------------------------------------------+ |ContainersConfModule=/etc/nvd.conf | --module=/etc/nvd.conf | +--------------------------------------+----------------------------------------------------------------------+ |DisableDNS=true | --disable-dns | +--------------------------------------+----------------------------------------------------------------------+ |DNS=192.168.55.1 | --dns=192.168.55.1 | +--------------------------------------+----------------------------------------------------------------------+ |Driver=bridge | --driver bridge | +--------------------------------------+----------------------------------------------------------------------+ |Gateway=192.168.55.3 | --gateway 192.168.55.3 | +--------------------------------------+----------------------------------------------------------------------+ |GlobalArgs=--log-level=debug | --log-level=debug | +--------------------------------------+----------------------------------------------------------------------+ |InterfaceName=enp1 | --interface-name enp1 | +--------------------------------------+----------------------------------------------------------------------+ |Internal=true | --internal | +--------------------------------------+----------------------------------------------------------------------+ |IPAMDriver=dhcp | --ipam-driver dhcp | +--------------------------------------+----------------------------------------------------------------------+ |IPRange=192.168.55.128/25 | --ip-range 192.168.55.128/25 | +--------------------------------------+----------------------------------------------------------------------+ |IPv6=true | --ipv6 | +--------------------------------------+----------------------------------------------------------------------+ |Label="XYZ" | --label "XYZ" | +--------------------------------------+----------------------------------------------------------------------+ |NetworkDeleteOnStop=true | ExecStopPost | | | | +--------------------------------------+----------------------------------------------------------------------+ |NetworkName=foo | podman network create foo | +--------------------------------------+----------------------------------------------------------------------+ |Options=isolate=true | --opt isolate=true | +--------------------------------------+----------------------------------------------------------------------+ |PodmanArgs=--dns=192.168.55.1 | --dns=192.168.55.1 | +--------------------------------------+----------------------------------------------------------------------+ |ServiceName=name | systemd name.service | +--------------------------------------+----------------------------------------------------------------------+ |Subnet=192.5.0.0/16 | --subnet 192.5.0.0/16 | +--------------------------------------+----------------------------------------------------------------------+ [Network] : ContainersConfModule= containers.conf(5) . --module Podman . . DisableDNS= (: false) DNS . --disable-dns Podman . DNS= DNS/ . . Driver= (: bridge) . bridge macvlan ipvlan . --driver Podman . Gateway= () (subnet) . subnet . --gateway Podman . . GlobalArgs= podman network . Podman . . . . InterfaceName= network_interface podman network inspect . bridge (bridge) . macvlan ipvlan . --opt parent=... . --interface-name Podman . Internal= (: false) . --internal Podman . IPAMDriver= IPAM ( IP) . host-local dhcp none . --ipam-driver Podman . IPRange= IP . CIDR - CIDR . ip-range subnet . --ip-range Podman . . IPv6= IPv6 ( Dual Stack) . --ipv6 Podman . Label= OCI . key=value Environment . . NetworkDeleteOnStop= (: false) true . NetworkName= () Podman. systemd- $name.network Podman systemd-$name . Options= . --opt Podman . PodmanArgs= podman network create ( ) . Podman . . . . ServiceName= Quadlet systemd -network Quadlet . Quadlet . .service . Subnet= CIDR. --subnet Podman . . [Volume] (Volume) .volume [Volume] Podman . . Podman systemd- $NAME.volume Podman systemd-$NAME $NAME-volume.service . VolumeName . . Podman . [Volume] : +-------------------------------------+----------------------------------------------------------------------+ | [Volume] | podman volume create | +-------------------------------------+----------------------------------------------------------------------+ |ContainersConfModule=/etc/nvd.conf | --module=/etc/nvd.conf | +-------------------------------------+----------------------------------------------------------------------+ |Copy=true | --opt copy | +-------------------------------------+----------------------------------------------------------------------+ |Device=tmpfs | --opt device=tmpfs | +-------------------------------------+----------------------------------------------------------------------+ |Driver=image | --driver=image | +-------------------------------------+----------------------------------------------------------------------+ |GID=5678 | --gid 5678 | +-------------------------------------+----------------------------------------------------------------------+ |GlobalArgs=--log-level=debug | --log-level=debug | +-------------------------------------+----------------------------------------------------------------------+ |Group=192 | --opt "o=group=192" | +-------------------------------------+----------------------------------------------------------------------+ |Image=quay.io/centos/centos:latest | --opt image=quay.io/centos/centos:latest | +-------------------------------------+----------------------------------------------------------------------+ |Label="foo=bar" | --label "foo=bar" | +-------------------------------------+----------------------------------------------------------------------+ |Options=XYZ | --opt "o=XYZ" | +-------------------------------------+----------------------------------------------------------------------+ |PodmanArgs=--driver=image | --driver=image | +-------------------------------------+----------------------------------------------------------------------+ |ServiceName=name | systemd name.service | +-------------------------------------+----------------------------------------------------------------------+ |Type=type | Device | +-------------------------------------+----------------------------------------------------------------------+ |UID=1234 | --uid 1234 | +-------------------------------------+----------------------------------------------------------------------+ |User=123 | --opt "o=uid=123" | +-------------------------------------+----------------------------------------------------------------------+ |VolumeName=foo | podman volume create foo | +-------------------------------------+----------------------------------------------------------------------+ [Volume] : ContainersConfModule= containers.conf(5) . --module Podman . . Copy= (: true) (mountpoint) . Device= (mount) . Driver= . image Image . --driver Podman . GID= (GID) . Group= mount . GID chown . GlobalArgs= podman volume . Podman . . . . Group= () . GID mount . Image= Driver image . (fully qualified) . podman pull . :tag (digests) . : o name .image Quadlet .image systemd $name-image.service ( .image) . : .image . Label= OCI . key=value Environment . . Options= (mount options) -o mount(8) . PodmanArgs= podman volume create ( ) . Podman . . . . ServiceName= Quadlet systemd -volume Quadlet . Quadlet . .service . Type= Device -t mount(8) . UID= (UID) . User mount . UID chown . User= () . UID mount . VolumeName= () Podman. systemd- $name.volume Podman systemd-$name . [Build] .build [Build] . Containerfile (context) . ( ) . .build ImageTag= File= SetWorkingDirectory= . . . [Build] : +------------------------------------+----------------------------------------------------------------------+ | [Build] | podman build | +------------------------------------+----------------------------------------------------------------------+ |Annotation=annotation=value | --annotation=annotation=value | +------------------------------------+----------------------------------------------------------------------+ |Arch=aarch64 | --arch=aarch64 | +------------------------------------+----------------------------------------------------------------------+ |AuthFile=/etc/registry/auth.json | --authfile=/etc/registry/auth.json | +------------------------------------+----------------------------------------------------------------------+ |BuildArg=foo=bar | --build-arg foo=bar | +------------------------------------+----------------------------------------------------------------------+ |ContainersConfModule=/etc/nvd.conf | --module=/etc/nvd.conf | +------------------------------------+----------------------------------------------------------------------+ |DNS=192.168.55.1 | --dns=192.168.55.1 | +------------------------------------+----------------------------------------------------------------------+ |DNSOption=ndots:1 | --dns-option=ndots:1 | +------------------------------------+----------------------------------------------------------------------+ |DNSSearch=example.com | --dns-search example.com | +------------------------------------+----------------------------------------------------------------------+ |Environment=foo=bar | --env foo=bar | +------------------------------------+----------------------------------------------------------------------+ |File=/path/to/Containerfile | --file=/path/to/Containerfile | +------------------------------------+----------------------------------------------------------------------+ |ForceRM=false | --force-rm=false | +------------------------------------+----------------------------------------------------------------------+ |GlobalArgs=--log-level=debug | --log-level=debug | +------------------------------------+----------------------------------------------------------------------+ |GroupAdd=keep-groups | --group-add=keep-groups | +------------------------------------+----------------------------------------------------------------------+ |IgnoreFile=/path/to/.customignore | --ignorefile=/path/to/.customignore | +------------------------------------+----------------------------------------------------------------------+ |ImageTag=localhost/imagename | --tag=localhost/imagename | +------------------------------------+----------------------------------------------------------------------+ |Label=label | --label=label | +------------------------------------+----------------------------------------------------------------------+ |Network=host | --network=host | +------------------------------------+----------------------------------------------------------------------+ |PodmanArgs=--pull never | --pull never | +------------------------------------+----------------------------------------------------------------------+ |Pull=never | --pull never | +------------------------------------+----------------------------------------------------------------------+ |Retry=5 | --retry=5 | +------------------------------------+----------------------------------------------------------------------+ |RetryDelay=10s | --retry-delay=10s | +------------------------------------+----------------------------------------------------------------------+ |Secret=secret | --secret=id=mysecret,src=path | +------------------------------------+----------------------------------------------------------------------+ |ServiceName=name | systemd name.service | +------------------------------------+----------------------------------------------------------------------+ |SetWorkingDirectory=unit | WorkingDirectory systemd | +------------------------------------+----------------------------------------------------------------------+ |Target=my-app | --target=my-app | +------------------------------------+----------------------------------------------------------------------+ |TLSVerify=false | --tls-verify=false | +------------------------------------+----------------------------------------------------------------------+ |Variant=arm/v7 | --variant=arm/v7 | +------------------------------------+----------------------------------------------------------------------+ |Volume=/source:/dest | --volume /source:/dest | +------------------------------------+----------------------------------------------------------------------+ Annotation= (annotation) ( annotation=value) . . --annotation podman build . Arch= ( ). --arch podman build . AuthFile= . --authfile podman build . BuildArg= ( env=value) . . --build-arg podman build . ContainersConfModule= containers.conf(5) . --module Podman . . DNS= DNS/ . . --dns podman build . DNSOption= DNS . . --dns-option podman build . DNSSearch= DNS . DNSSearch=. . . --dns-search podman build . Environment= ( env=value) . systemd . File= Containerfile . (URL) http(s):// Containerfile . Containerfile URL http(s):// SetWorkingDirectory= podman build (context) Containerfile . File= .build SetWorkingDirectory ( WorkingDirectory Service) . --file podman build . ForceRM= ( true ). --force-rm podman build . GlobalArgs= podman build . Podman . . . . GroupAdd= . keep-groups . --group-add podman build . IgnoreFile= .containerignore . SetWorkingDirectory= . --ignorefile podman build . ImageTag= . --tag podman build . . .build Quadlet . Label= (label label=value) . . --label podman build . Network= (network namespaces) RUN . --network podman build . host none . : o .network Quadlet Quadlet .network . Quadlet Unit systemd-$name . systemd .network .network $name-network.service . : .network . . PodmanArgs= podman build ( ) . . . . . Pull= (pull) . --pull podman build . Retry= HTTP. --retry . RetryDelay= . --retry-delay . Secret= (secret) Containerfile . --secret podman build secret[,opt=opt ...] . ServiceName= Quadlet -build Quadlet systemd . Quadlet . .service . SetWorkingDirectory= ( ) podman build. URL file unit File= .build . Quadlet . (file unit) WorkingDirectory Service systemd . WorkingDirectory Service .build . WorkingDirectory Service Quadlet SetWorkingDirectory file unit . (URL) SetWorkingDirectory= podman build () . WorkingDirectory systemd Quadlet . .build File= . Target= (target build stage) . Containerfile . --target podman build . TLSVerify= HTTPS . --tls-verify podman build . Variant= . --variant podman build . Volume= (mount) RUN . --volume podman build [[SOURCE-VOLUME|HOST-DIR:]CONTAINER-DIR[:OPTIONS]] . SOURCE-VOLUME . Quadlet . : o SOURCE-VOLUME .volume Quadlet Quadlet .volume . Quadlet Volume Unit systemd-$name . systemd .volume .volume $name-volume.service . : .volume . . Image units [Image] .image [Image] (pull) . . . . [Image] : +--------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ | [Image] | podman image pull | +--------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ |AllTags=true | --all-tags | +--------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ |Arch=aarch64 | --arch=aarch64 | +--------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ |AuthFile=/etc/registry/auth.json | --authfile=/etc/registry/auth.json | +--------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ |CertDir=/etc/registry/certs | --cert-dir=/etc/registry/certs | +--------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ |ContainersConfModule=/etc/nvd.conf | --module=/etc/nvd.conf | +--------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ |Creds=myname:mypassword | --creds=myname:mypassword | +--------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ |DecryptionKey=/etc/registry.key | --decryption-key=/etc/registry.key | +--------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ |GlobalArgs=--log-level=debug | --log-level=debug | +--------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ |Image=quay.io/centos/centos:latest | podman image pull quay.io/centos/centos:latest | +--------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ |ImageTag=quay.io/centos/centos:latest | .image | +--------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ |OS=windows | --os=windows | +--------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ |PodmanArgs=--os=linux | --os=linux | +--------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ |Policy=always | --policy=always | +--------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ |Retry=5 | --retry=5 | +--------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ |RetryDelay=10s | --retry-delay=10s | +--------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ |ServiceName=name | systemd name.service | +--------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ |TLSVerify=false | --tls-verify=false | +--------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ |Variant=arm/v7 | --variant=arm/v7 | +--------------------------------------+-------------------------------------------------------------------------------------------------------------------------+ AllTags= . --all-tags . Arch= ( ). --arch . AuthFile= . --authfile . CertDir= (*.crt *.cert *.key) . --cert-dir . ContainersConfModule= containers.conf(5) . --module . . Creds= [username[:password]] . --creds . DecryptionKey= [key[:passphrase]] . --decryption-key . GlobalArgs= podman image . . . . . Image= . (fully qualified image name) . podman pull :tag (digests) . ImageTag= (FQIN) Image. . docker-archive : podman image save --format docker-archive --output /tmp/archive- file.tar quay.io/podman/stable:latest : - Image=docker-archive:/tmp/archive-file.tar - ImageTag=quay.io/podman/stable:latest OS= ( ). --os . PodmanArgs= podman image pull ( ) . . . . . Policy= pull . --policy . Retry= HTTP. --retry . RetryDelay= . --retry-delay . ServiceName= Quadlet -image Quadlet systemd . Quadlet . .service . TLSVerify= HTTPS . --tls-verify . Variant= . --variant . Artifact units [Artifact] : (Experimental Unit) . . .artifact [Artifact] . . . (mount) Artifact [Artifact] . [Artifact] : +-----------------------------------------+------------------------------------------------------+ | [Artifact] | podman artifact pull | +-----------------------------------------+------------------------------------------------------+ |Artifact=quay.io/foobar/artifact:special | podman artifact pull quay.io/foobar/artifact:special | +-----------------------------------------+------------------------------------------------------+ |AuthFile=/etc/registry/auth.json | --authfile=/etc/registry/auth.json | +-----------------------------------------+------------------------------------------------------+ |CertDir=/etc/registry/certs | --cert-dir=/etc/registry/certs | +-----------------------------------------+------------------------------------------------------+ |ContainersConfModule=/etc/nvd.conf | --module=/etc/nvd.conf | +-----------------------------------------+------------------------------------------------------+ |Creds=username:password | --creds=username:password | +-----------------------------------------+------------------------------------------------------+ |DecryptionKey=/etc/registry.key | --decryption-key=/etc/registry.key | +-----------------------------------------+------------------------------------------------------+ |GlobalArgs=--log-level=debug | --log-level=debug | +-----------------------------------------+------------------------------------------------------+ |PodmanArgs=--pull never | --pull never | +-----------------------------------------+------------------------------------------------------+ |Quiet=true | --quiet | +-----------------------------------------+------------------------------------------------------+ |Retry=5 | --retry=5 | +-----------------------------------------+------------------------------------------------------+ |RetryDelay=10s | --retry-delay=10s | +-----------------------------------------+------------------------------------------------------+ |ServiceName=my-artifact | systemd | | | my-artifact.service | +-----------------------------------------+------------------------------------------------------+ |TLSVerify=false | --tls-verify=false | +-----------------------------------------+------------------------------------------------------+ Artifact= . . . AuthFile= . --authfile . CertDir= (*.crt *.cert *.key) . --cert-dir . ContainersConfModule= containers.conf(5). --module . . Creds= [username[:password]]. --creds . DecryptionKey= [key[:passphrase]] . --decryption-key . GlobalArgs= podman artifact . . . . . PodmanArgs= podman artifact pull ( ) . . . . . Quiet= . --quiet . Retry= HTTP. --retry . RetryDelay= . --retry-delay . ServiceName= () systemd. -artifact $name.artifact systemd $name-artifact.service . TLSVerify= HTTPS . --tls-verify . Quadlet section [Quadlet] Quadlet . [Quadlet] . [Quadlet] : +--------------------------------------+-----------------------------------+ | [Quadlet] | | +--------------------------------------+-----------------------------------+ |DefaultDependencies=false | | | | | | | | | | | | | | +--------------------------------------+-----------------------------------+ DefaultDependencies= Quadlet ( true ). false Quadlet (After=, Wants=) network- online.target/podman-user-wait-network-online.service . [Quadlet] . [Unit] systemd . (EXAMPLES) test.container: [Unit] Description=A minimal container [Container] # Use the centos image Image=quay.io/centos/centos:latest # Use volume and network defined below Volume=test.volume:/data Network=test.network # In the container we just run sleep Exec=sleep 60 [Service] # Restart service when sleep finishes Restart=always # Extend Timeout to allow time to pull the image TimeoutStartSec=900 # ExecStartPre flag and other systemd commands can go here, see systemd.unit(5) man page. ExecStartPre=/usr/share/mincontainer/setup.sh [Install] # Start by default on boot WantedBy=multi-user.target default.target test.kube: [Unit] Description=A kubernetes yaml based service Before=local-fs.target [Kube] Yaml=/opt/k8s/deployment.yml [Install] # Start by default on boot WantedBy=multi-user.target default.target : test.build [Build] # Tag the image to be built ImageTag=localhost/imagename # Set the working directory to the path of the unit file, # expecting to find a Containerfile/Dockerfile # + other files needed to build the image SetWorkingDirectory=unit # Set build arguments VERSION and DEBUG BuildArg=VERSION=1.0 DEBUG=false test.container [Container] Image=test.build test.volume: [Volume] User=root Group=root Label=org.test.Key=value test.network: [Network] Subnet=172.16.0.0/24 Gateway=172.16.0.1 IPRange=172.16.0.0/28 Label=org.test.Key=value test.artifact : [Artifact] Artifact=quay.io/example/my-artifact:latest AuthFile=/etc/registry/auth.json TLSVerify=false : my-artifact.artifact: [Artifact] Artifact=quay.io/example/my-config:latest my-app.container: [Container] Image=quay.io/example/my-app:latest Mount=type=artifact,source=my-artifact.artifact,destination=/etc/config (Pod): test.pod [Pod] PodName=test centos.container [Container] Image=quay.io/centos/centos:latest Exec=sh -c "sleep inf" Pod=test.pod (one-shot startup task): test.pod [Pod] PodName=test ExitPolicy=continue startup-task.container [Service] Type=oneshot RemainAfterExit=yes [Container] Pod=test.pod Image=quay.io/centos/centos:latest Exec=sh -c "echo 'setup starting'; sleep 2; echo 'setup complete'" app.container [Unit] Requires=startup-task.container After=startup-task.container [Container] Pod=test.pod Image=quay.io/centos/centos:latest Exec=sh -c "echo 'app running.'; sleep 30" s3fs.volume: s3fs-fuse . (FAQ) . : ( ) / . use_cache (UNBOUNDED) ! s3 . S3_BUCKET PATH AWS_REGION . CACHE_DIRECTORY systemd . [Service] CacheDirectory=s3fs ExecStartPre=/usr/local/bin/aws s3api put-object --bucket ${S3_BUCKET} --key ${PATH}/ [Volume] Device=${S3_BUCKET}:/${PATH} Type=fuse.s3fs VolumeName=s3fs-volume Options=iam_role,endpoint=${AWS_REGION},use_xattr,listobjectsv2,del_cache,use_cache=${CACHE_DIRECTORY} # `iam_role` assumes inside EC2, if not, Use `profile=` instead podman-quadlet- basic-usage(7) . (SEE ALSO) o podman-auto-update(1) o podman-build.unit(5), o podman-container.unit(5), o podman-image.unit(5), o podman-kube.unit(5), o podman-network-create(1), o podman-network.unit(5), o podman-pod.unit(5), o podman-quadlet-basic-usage.7, o podman-run(1), o podman-volume.unit(5), o systemd-analyze(1), o systemd.service(5), o systemd.unit(5) podman-systemd.unit(5)