Podman: A tool for managing OCI containers and pods.
:z
or :Z
volume mount options on a directory with read only files (#19852)podman machine
VMs required an SSH client be installed on the system (#22075).podman build
command from working properly when connecting from a rootless client to a rootful server (#22109).podman machine
now fails immediately if admin privileges are not available (previously, it would only fail when it reached operations that required admin privileges).podman build
which allowed a user to write files to the /
directory of the host machine if selinux was not enabled.podman build
which allowed a user to write files to the /
directory of the host machine if selinux was not enabled.podman machine
can now use the native Apple hypervisor (applehv
) when run on MacOS.podman machine reset
, which will remove all existing podman machine
VMs and relevant configurations.podman manifest add
command now supports a new --artifact
option to add OCI artifacts to a manifest list.podman create
, podman run
, and podman push
commands now support the --retry
and --retry-delay
options to configure retries for pushing and pulling images.podman run
and podman exec
commands now support a new option, --preserve-fd
, which allows passing a list of file descriptors into the container (as an alternative to --preserve-fds
, which passes a specific number of file descriptors).podman kube play
command can now create image-based volumes using the volume.podman.io/image
annotation.podman kube play
can now include volumes from other containers (similar to the --volumes-from
option) using a new annotation, io.podman.annotations.volumes-from
(#16819).podman kube play
can now set user namespace options through the the io.podman.annotations.userns
annotation in the pod definition (#20658).containers.conf
field interface_name
(#21313).--gpus
option to podman create
and podman run
is now compatible with Nvidia GPUs (#21156).--mount
option to podman create
and podman run
supports a new mount option, no-dereference
, to mount a symlink (instead of its dereferenced target) into a container (#20098).--config
, to point to a Docker configuration where we can source registry login credentials.podman ps --format
command now supports a new format specifier, .Label
(#20957).uidmapping
and gidmapping
options to the podman run --userns=auto
option can now map to host IDs by prefixing host IDs with the @
symbol..pod
unit files (#17687).Entrypoint
and StopTimeout
, in .container
files (#20585 and #21134).Ulimit
key multiple times in .container
files to set more than one ulimit on a container.Notify
key to healthy
in .container
files, to only sdnotify that a container has started when its health check begins passing (#18189).podman machine
commands has seen extensive rewrites. Configuration files have changed format and VMs from Podman 4.x and earlier are no longer usable. podman machine
VMs must be recreated with Podman 5.podman machine init
command now pulls images as OCI artifacts, instead of using HTTP. As a result, a valid policy.json
file is required on the host. Windows and Mac installers have been changed to install this file.podman machine
on Mac. Instead, the native Apple hypervisor is supported.ConfigPath
and Image
fields are no longer provided by the podman machine inspect
command. Users can also no longer use {{ .ConfigPath }}
or {{ .Image }}
as arguments to podman machine inspect --format
.podman inspect
for containers has seen a number of breaking changes to improve Docker compatibility, including changing Entrypoint
from a string to an array of strings and StopSignal from an int to a string.podman inspect
command for containers now returns nil for healthchecks when inspecting containers without healthchecks.podman pod inspect
command now outputs a JSON array regardless of the number of pods inspected (previously, inspecting a single pod would omit the array).PODMAN_IGNORE_CGROUPSV1_WARNING
environment variable can be set to suppress warnings.slirp4netns
to pasta
for improved performance. As a result, networks named pasta
are no longer supported.--image
option replaces the now deprecated --image-path
option for podman machine init
.podman events --format "{{json .}}"
has been changed to improve Docker compatibility, including the time
and timeNano
fields (#14993).podman machine
VMs and the username used within the VM are now validated and must match this regex: [a-zA-Z0-9][a-zA-Z0-9_.-]*
.--annotation
to podman manifest annotate
and podman manifest add
, the --configmap
, --log-opt
, and --annotation
options to podman kube play
, the --pubkeysfile
option to podman image trust set
, the --encryption-key
and --decryption-key
options to podman create
, podman run
, podman push
and podman pull
, the --env-file
option to podman exec
, the --bkio-weight-device
, --device-read-bps
, --device-write-bps
--device-read-iops
, --device-write-iops
, --device
, --label-file
, --chrootdirs
, --log-opt
, and --env-file
options to podman create
and podman run
, and the --hooks-dir
and --module
global options.podman system reset
command no longer waits for running containers to gracefully stop, and instead immediately sends SIGKILL (#21874).podman network inspect
command now includes running containers using the network in its output (#14126).podman compose
command is now supported on non-AMD64/ARM64 architectures.podman machine
will now pass HTTP proxy environment variables into the VM for all providers.--no-trunc
option to the podman kube play
and podman kube generate
commands has been deprecated. Podman now complies to the Kubernetes specification for annotation size, removing the need for this option.DOCKER_HOST
environment variable will be set by default for rootless users when podman-docker is installed.podman system connection
and farms from podman farm
are now written to a new configuration file called podman-connections.conf
. As a result, Podman no longer writes to containers.conf
. Existing connections from containers.conf
will still be respected.podman farm
subcommands (save for podman farm build
) no longer need to connect to the machines in the farm to run.podman create
and podman run
commands no longer require specifying an entrypoint on the command line when the container image does not define one. In this case, an empty command will be passed to the OCI runtime, and the resulting behavior is runtime-specific.podman machine
VMs on Mac is now system_u:object_r:nfs_t:s0
so that it can be shared with all containers without issue.podman machine
will now share a single SSH key key for access. As a result, podman machine rm --save-keys
is deprecated as the key will persist by default.podman stats
command would not show network statistics when the pasta
network mode was used.podman machine
VMs using the HyperV provider could not mount shares on directories that did not yet exist.podman compose
command did not respect the --connection
and --url
options.podman stop -t -1
command would wait for 0 seconds, not infinite seconds, before sending SIGKILL (#21811).slirp4netns
network mode was used with a restart policy of always
or unless-stopped
or on-failure
and a user namespace (#21477).docker.sock
symlink (#20650).podman image scp
command could fail if there was not sufficient space in the destination machine's /tmp
for the image (#21239).podman inspect
(#13102).podman kube play
did not create memory-backed emptyDir volumes using a tmpfs filesystem.--rm
were sometimes not removed after a reboot (#21482).podman events
command using the remote Podman client did not display the network name associated with network events (#21311).podman farm build
did not properly handle the --tls-verify
option and would override server defaults even if the option was not set by the user (#21352).podman inspect
command could segfault on FreeBSD (#21117)..container
file with certain types of trailing whitespace (#21109).bind-mount-options
key (#21080)..container
files (#20992).--publish-all
option to podman kube play
did not function when used with the remote Podman client.podman kube play --build
command could not build images whose Dockerfile specified an image from a private registry with a self-signed certificate in a FROM
directive (#20890)./libpod/images/$name/resolve
, has been added to resolve a (potential) short name to a list of fully-qualified image references Podman which could be used to pull the image./etc/hosts
were copied into create containers, resulting in incompatibility with network aliases.podman build
.This will be the final v5.0.0 release candidate. If all goes well, we expect a final release early next week. Release notes follow:
podman machine
can now use the native Apple hypervisor (applehv
) when run on MacOS.podman machine reset
, which will remove all existing podman machine
VMs and relevant configurations.podman manifest add
command now supports a new --artifact
option to add OCI artifacts to a manifest list.podman create
, podman run
, and podman push
commands now support the --retry
and --retry-delay
options to configure retries for pushing and pulling images.podman run
and podman exec
commands now support a new option, --preserve-fd
, which allows passing a list of file descriptors into the container (as an alternative to --preserve-fds
, which passes a specific number of file descriptors).podman kube play
command can now create image-based volumes using the volume.podman.io/image
annotation.podman kube play
can now include volumes from other containers (similar to the --volumes-from
option) using a new annotation, io.podman.annotations.volumes-from
(#16819).podman kube play
can now set user namespace options through the the io.podman.annotations.userns
annotation in the pod definition (#20658).containers.conf
field interface_name
(#21313).--gpus
option to podman create
and podman run
is now compatible with Nvidia GPUs (#21156).--mount
option to podman create
and podman run
supports a new mount option, no-dereference
, to mount a symlink (instead of its dereferenced target) into a container (#20098).--config
, to point to a Docker configuration where we can source registry login credentials.podman ps --format
command now supports a new format specifier, .Label
(#20957).uidmapping
and gidmapping
options to the podman run --userns=auto
option can now map to host IDs by prefixing host IDs with the @
symbol..pod
unit files (#17687).Entrypoint
and StopTimeout
, in .container
files (#20585 and #21134).Ulimit
key multiple times in .container
files to set more than one ulimit on a container.Notify
key to healthy
in .container
files, to only sdnotify that a container has started when its health check begins passing (#18189).podman machine
commands has seen extensive rewrites. Configuration files have changed format and VMs from Podman 4.x and earlier are no longer usable. podman machine
VMs must be recreated with Podman 5.podman machine init
command now pulls images as OCI artifacts, instead of using HTTP. As a result, a valid policy.json
file is required on the host. Windows and Mac installers have been changed to install this file.podman machine
on Mac. Instead, the native Apple hypervisor is supported.ConfigPath
and Image
fields are no longer provided by the podman machine inspect
command. Users can also no longer use {{ .ConfigPath }}
or {{ .Image }}
as arguments to podman machine inspect --format
.podman inspect
for containers has seen a number of breaking changes to improve Docker compatibility, including changing Entrypoint
from a string to an array of strings and StopSignal from an int to a string.podman inspect
command for containers now returns nil for healthchecks when inspecting containers without healthchecks.podman pod inspect
command now outputs a JSON array regardless of the number of pods inspected (previously, inspecting a single pod would omit the array).PODMAN_CGROUPSV1_WARNING
environment variable can be set to suppress warnings.slirp4netns
to pasta
for improved performance. As a result, networks named pasta
are no longer supported.--image
option replaces the now deprecated --image-path
option for podman machine init
.podman events --format "{{json .}}"
has been changed to improve Docker compatibility, including the time
and timeNano
fields (#14993).podman machine
VMs and the username used within the VM are now validated and must match this regex: [a-zA-Z0-9][a-zA-Z0-9_.-]*
.--annotation
to podman manifest annotate
and podman manifest add
, the --configmap
, --log-opt
, and --annotation
options to podman kube play
, the --pubkeysfile
option to podman image trust set
, the --encryption-key
and --decryption-key
options to podman create
, podman run
, podman push
and podman pull
, the --env-file
option to podman exec
, the --bkio-weight-device
, --device-read-bps
, --device-write-bps
--device-read-iops
, --device-write-iops
, --device
, --label-file
, --chrootdirs
, --log-opt
, and --env-file
options to podman create
and podman run
, and the --hooks-dir
and --module
global options.podman system reset
command no longer waits for running containers to gracefully stop, and instead immediately sends SIGKILL (#21874).podman network inspect
command now includes running containers using the network in its output (#14126).podman compose
command is now supported on non-AMD64/ARM64 architectures.podman machine
will now pass HTTP proxy environment variables into the VM for all providers.--no-trunc
option to the podman kube play
and podman kube generate
commands has been deprecated. Podman now complies to the Kubernetes specification for annotation size, removing the need for this option.DOCKER_HOST
environment variable will be set by default for rootless users when podman-docker is installed.podman system connection
and farms from podman farm
are now written to a new configuration file called podman-connections.conf
. As a result, Podman no longer writes to containers.conf
. Existing connections from containers.conf
will still be respected.podman farm
subcommands (save for podman farm build
) no longer need to connect to the machines in the farm to run.podman create
and podman run
commands no longer require specifying an entrypoint on the command line when the container image does not define one. In this case, an empty command will be passed to the OCI runtime, and the resulting behavior is runtime-specific.podman machine
VMs on Mac is now system_u:object_r:nfs_t:s0
so that it can be shared with all containers without issue.podman machine
will now share a single SSH key key for access. As a result, podman machine rm --save-keys
is deprecated as the key will persist by default.podman stats
command would not show network statistics when the pasta
network mode was used.podman machine
VMs using the HyperV provider could not mount shares on directories that did not yet exist.podman compose
command did not respect the --connection
and --url
options.podman stop -t -1
command would wait for 0 seconds, not infinite seconds, before sending SIGKILL (#21811).slirp4netns
network mode was used with a restart policy of always
or unless-stopped
or on-failure
and a user namespace (#21477).docker.sock
symlink (#20650).podman image scp
command could fail if there was not sufficient space in the destination machine's /tmp
for the image (#21239).podman inspect
(#13102).podman kube play
did not create memory-backed emptyDir volumes using a tmpfs filesystem.--rm
were sometimes not removed after a reboot (#21482).podman events
command using the remote Podman client did not display the network name associated with network events (#21311).podman farm build
did not properly handle the --tls-verify
option and would override server defaults even if the option was not set by the user (#21352).podman inspect
command could segfault on FreeBSD (#21117)..container
file with certain types of trailing whitespace (#21109).bind-mount-options
key (#21080)..container
files (#20992).--publish-all
option to podman kube play
did not function when used with the remote Podman client.podman kube play --build
command could not build images whose Dockerfile specified an image from a private registry with a self-signed certificate in a FROM
directive (#20890)./libpod/images/$name/resolve
, has been added to resolve a (potential) short name to a list of fully-qualified image references Podman which could be used to pull the image./etc/hosts
were copied into create containers, resulting in incompatibility with network aliases.podman build
.This is the sixth release candidate of Podman 5.0.0. Full release notes will be available soon.
This is the fifth release candidate of Podman 5.0.0. Full release notes will be available soon.
This is the fourth release candidate of Podman 5.0.0. Full release notes will be available soon.
This is the third release candidate of Podman 5.0.0. Full release notes will be available with the fourth release candidate.
This is the second release candidate for Podman v5.0.0.
Release notes are not yet available, but will be published as part of a subsequent release candidate.