Releases: containers/podman
Releases · containers/podman
v1.1.2
Bugfixes
- Fixed a bug where the
podman image list,podman image rm, andpodman container listhad broken global storage options - Fixed a bug where the
--labeloption topodman createandpodman runwas missing the-lalias - Fixed a bug where running Podman with the
--configflag would not set an appropriate default value fortmp_dir(#2408) - Fixed a bug where the
podman logscommand with the--timestampsflag produced unreadable output (#2500) - Fixed a bug where the
podman cpcommand would automatically extract.tarfiles copied into the container (#2509)
Misc
- The
podman container stopcommand is now usable with the Podman remote client
v1.1.1
Bugfixes
- Fixed a bug where
podman container restorewas erroneously available aspodman restore(#2191) - Fixed a bug where the
volume_pathoption inlibpod.confwas not being respected - Fixed a bug where Podman failed to build when the
varlinktag was not present (#2459) - Fixed a bug where the
podman image loadcommand was listed twice in help text - Fixed a bug where the
podman image signcommand was also listed aspodman sign - Fixed a bug where the
podman image listcommand incorrectly had animagealias - Fixed a bug where the
podman imagescommand incorrectly hadlsandlistaliases - Fixed a bug where the
podman image rmcommand was being displayed aspodman image rmi - Fixed a bug where the
podman createcommand would attempt to parse arguments meant for the container - Fixed a bug where the combination of FIPS mode and user namespaces resulted in permissions errors
- Fixed a bug where the
--timealias for--timeoutfor thepodman restartandpodman stopcommands did not function - Fixed a bug where the default stop timeout for newly-created containers was being set to 0 seconds (resulting in an immediate SIGKILL on running
podman stop) - Fixed a bug where the output format of
podman portwas incorrect, printing full container ID instead of truncated ID - Fixed a bug where the
podman container listcommand did not exist - Fixed a bug where
podman buildcould not build a container from images tagged locally that did not exist in a registry (#2469) - Fixed a bug where some Podman commands that accept no arguments would not error when provided arguments
- Fixed a bug where
podman play kubecould not handle cases where a pod and a container shared a name
Misc
- Usage text for many commands was greatly improved
- Major cleanups were made to Podman manpages, ensuring that command lists are accurate
- Greatly improved debugging output when the
newuidmapandnewgidmapbinaries fail when using rootless Podman - The
-salias for the global--storage-driveroption has been removed - The
podman container refreshcommand has been deprecated, as its intended use case is no longer relevant. The command has been hidden and manpages deleted. It will be removed in a future release - The
podman container runlabelcommand will now pull images not available locally even without the--pulloption. The--pulloption has been deprecated - The
podman container checkpointandpodman container restorecommands are now only available on OCI runtimes where they are supported (e.g.runc)
v1.1.0
1.1.0
Features
- Added
--latestand--allflags topodman mountandpodman umount - Rootless Podman can now forward ports into containers (using the same
-pand-Pflags as root Podman) - Rootless Podman will now pull some configuration options (for example, OCI runtime path) from the default root
libpod.confif they are not explicitly set in the user's ownlibpod.conf(#2174) - Added an alias
-ffor the--formatflag of thepodman infoandpodman versioncommands - Added an alias
-sfor the--sizeflag of thepodman inspectcommand - Added the
podman system infoandpodman system prunecommands - Added the
podman cpcommand to copy files between containers and the host (#613) - Added the
--password-stdinflag topodman login - Added the
--all-tagsflag topodman pull - The
--rmand--detachflags can now be used together withpodman run - The
podman startandpodman runcommands for containers in pods will now start dependency containers if they are stopped - Added the
podman system renumbercommand to handle lock changes - The
--net=hostand--dnsflags forpodman runandpodman createno longer conflict - Podman now handles mounting the shared /etc/resolv.conf from network namespaces created by
ip netns addwhen they are passed in viapodman run --net=ns:
Bugfixes
- Fixed a bug with
podman inspectwhere different information would be returned when the container was running versus when it was stopped - Fixed a bug where errors in Go templates passed to
podman inspectwere silently ignored instead of reported to the user (#2159) - Fixed a bug where rootless Podman with
--pid=hostcontainers was incorrectly masking paths in/proc - Fixed a bug where full errors starting rootless
Podmanwere not reported when a refresh was requested - Fixed a bug where Podman would override the config file-specified storage driver with the driver the backing database was created with without warning users
- Fixed a bug where
podman prunewould prune all images not in use by a container, as opposed to only untagged images, by default (#2192) - Fixed a bug where
podman create --quietandpodman run --quietwere not properly suppressing output - Fixed a bug where the
tablekeyword in Go template output ofpodman pswas not working (#2221) - Fixed a bug where
podman inspecton images pulled by digest would double-print@sha256in output when printing digests (#2086) - Fixed a bug where
podman container runlabelwill return a non-0 exit code if the label does not exist - Fixed a bug where container state was always reset to Created after a reboot (#1703)
- Fixed a bug where
/dev/ptswas unconditionally overridden in rootless Podman, which was unnecessary except in very specific cases - Fixed a bug where Podman run as root was ignoring some options in
/etc/containers/storage.conf(#2217) - Fixed a bug where Podman cleanup processes were not being given the proper OCI runtime path if a custom one was specified
- Fixed a bug where
podman images --filter dangling=truewould crash if no dangling images were present (#2246) - Fixed a bug where
podman ps --format "{{.Mounts}}"would not display a container's mounts (#2238) - Fixed a bug where
podman pod statswas ignoring Go templates specified by--format(#2258) - Fixed a bug where
podman generate kubewould fail on containers with--userspecified (#2304) - Fixed a bug where
podman imagesdisplayed incorrect output for images pulled by digest (#2175) - Fixed a bug where
podman portandpodman psdid not properly display ports if the container joined a network namespace from a pod or another container (#846) - Fixed a bug where detaching from a container using the detach keys would cause Podman to hang until the container exited
- Fixed a bug where
podman create --rmdid not work withpodman start --attach - Fixed a bug where invalid named volumes specified in
podman createandpodman runcould cause segfaults (#2301) - Fixed a bug where the
runtimefield inlibpod.confwas being ignored.runtimeis legacy and deprecated, but will continue to be respected for the forseeable future - Fixed a bug where
podman loginwould sometimes report it logged in successfully when it did not - Fixed a bug where
podman pod createwould not error on receiving unused CLI argument - Fixed a bug where rootless
podman runwith the--podargument would fail if the pod was stopped - Fixed a bug where
podman imagesdid not print a trailing newline when not invoked on a TTY (#2388) - Fixed a bug where the
--runtimeoption was sometimes not overridinglibpod.conf - Fixed a bug where
podman pullandpodman runlabelwould sometimes exit with 0 when they should have exited with an error (#2405) - Fixed a bug where rootless
podman export -owould fail (#2381) - Fixed a bug where read-only volumes would fail in rootless Podman when the volume originated on a filesystem mounted
nosuid,nodev, ornoexec(#2312) - Fixed a bug where some files used by checkpoint and restore received improper SELinux labels (#2334)
- Fixed a bug where Podman's volume path was not properly changed when containers/storage changed location (#2395)
Misc
- Podman migrated to a new, shared memory locking model in this release. As part of this, if you are running Podman with pods or dependency containers (e.g.
--net=container:), you should run thepodman system renumbercommand to migrate your containers to the new model - pleas
e reference thepodman-system-renumber(1)man page for further details - Podman migrated to a new command-line parsing library, and the output format of help and usage text has somewhat changed as a result
- Updated Buildah to v1.7, picking up a number of bugfixes
- Updated containers/image library to v1.5, picking up a number of bugfixes and performance improvements to pushing images
- Updated containers/storage library to v1.10, picking up a number of bugfixes
- Work on the remote Podman client for interacting with Podman remotely over Varlink is progressing steadily, and many image and pod commands are supported
- Added path masking to mounts with the
:zand:Zoptions, preventing users from accidentally performing an SELinux relabel of their entire home directory - The
podman container runlabelcommand will not pull an image if it does not contain the requested label - Many commands' usage information now includes examples
podman rmcan now delete containers in containers/storage, which can be used to resolve some situations where Podman fails to remove a container- The
podman searchcommand now searches multiple registries in parallel for improved performance - The
podman buildcommand now defaults--pull-alwaysto true - Containers which share a network namespace (for example, when in a pod) will now share /etc/hosts and /etc/resolv.conf between all containers in the pod, causing changes in one container to propogate to all containers sharing their networks
- The
podman rmandpodman rmicommands now return 1 (instead of 127) when all specified container or images are missing
v1.0.0
Features
- The
podman execcommand now includes a--workdiroption to set working directory for the executed command - The
podman createandpodman runcommands now support the--initflag to use a minimal init process in the container - Added the
podman image signcommand to GPG sign images - The
podman run --deviceflag now accepts directories, and will added any device nodes in the directory to the container - Added the
podman play kubecommand to create pods and containers from Kubernetes pod YAML
Bugfixes
- Fixed a bug where passing
podman createorpodman runvolumes with an empty host or container path could cause a segfault - Fixed a bug where
storage.confwas sometimes ignored for rootless containers - Fixed a bug where Podman run as root would error if CAP_SYS_RESOURCE was not available
- Fixed a bug where Podman would fail to start containers after a system restart due to an out-of-date default Apparmor profile
- Fixed a bug where Podman's bash completions were not working
- Fixed a bug where
podman loginwould use existing login credentials even if new credentials were provided - Fixed a bug where Podman could create some directories with the wrong permissions, breaking containers with user namespaces
- Fixed a bug where
podman runlabelwas not properly setting container names when the--namewas specified - Fixed a bug where
podman runlabelsometimes included extra spaces in command output - Fixed a bug where
podman commitwas including invalid port numbers in created images when committing containers with published ports - Fixed a bug where
podman execwas not honoring the container's environment variables - Fixed a bug where
podman run --devicewould fail when a symlink to a device was specified - Fixed a bug where
podman buildwas not properly picking up OCI runtime paths specified inlibpod.conf - Fixed a bug where Podman would mount
/dev/shminto the container read-only for read-only containers (/dev/shmshould always be read-write) - Fixed a bug where Podman would ignore any mount whose container mountpoint was
/dev/shm - Fixed a bug where
podman exportdid not work with the defaultfuse-overlayfsstorage driver - Fixed a bug where
podman inspect -f '{{ json .Config }}'on images would not output anything (it now prints the image's config) - Fixed a bug where
podman rmi -fadisplayed the wrong error message when trying to remove images used by pod infra containers
Misc
- Rootless containers now unconditionally use postrun cleanup processes, ensuring resources are freed when the container stops
- A new version of Buildah is included for
podman build, featuring improved build speed and numerous bugfixes - Pulling images has been parallelized, allowing individual layers to be pulled in parallel
- The
podman start --attachcommand now defaults thesig-proxyoption totrue, matchingpodman createandpodman run - The
podman infocommand now prints the path of the configuration file controlling container storage - Added
podman listandpodman lsas aliases forpodman ps, andpodman container psandpodman container listas aliases forpodman container ls - Changed
podman generate kubeto generate Kubernetes service YAML in the same file as pod YAML, generating a single file instead of two - To improve compatability with the Docker command line,
podman inspect -f '{{ json .ContainerConfig }}'on images is no longer valid; please usepodman inspect -f '{{ json .Config }}'instead
v0.12.1.2
Bugfixes
- Fixed a bug where an empty path for named volumes could make it impossible to create containers
- Fixed a bug where containers using another container's network namespace would not also use the other container's /etc/hosts and /etc/resolv.conf
- Fixed a bug where containers with
--rmwhich failed to start were not removed - Fixed a potential race condition attempting to read
/etc/passwdinside containers
v0.12.1.1
Features
- Added the
podman generate kubecommand to generate Kubernetes Pod and Service YAML for Podman containers and pods - The
podman pod stopflag now accepts a--timeoutflag to set the timeout for stopping containers in the pod
Bugfixes
- Fixed a bug where rootless Podman would fail to start if the default OCI hooks directory is not present
v0.12.1
Features
- Rootless Podman now creates the storage.conf, libpod.conf, and mounts.conf configuration files automatically in
~/.config/containers/for ease of reconfiguration - The
podman pod createcommand can expose ports in the pod's network namespace, allowing public services to be created in pods - The
podman container checkpointcommand can now keep containers running after they are checkpointed with the--leave-runningflag - The
podman container checkpointandpodman container restorecommands now support the--tcp-establishedflag to checkpoint and restore containers with active TCP connections - The
podman versioncommand now has a--formatflag to produce machine-readable output - Added the
podman container exists,podman pod exists, andpodman image existscommands to easily check for a container/pod/image, respectively, by name or ID - The
podman ps --podflag now has a short alias,-p - The
podman rmiandpodman rmcommands now have a--pruneflag to prune unused images and containers, respectively - The
podman pscommand now has a--syncflag to force a sync of Podman's state against the OCI runtime, resolving some state desync errors - Added the
podman volumeset of commands for creating and managing local-only named volumes
Bugfixes
- Fixed a breaking change in rootless Podman where a change in default paths caused Podman to be unable to function on systems upgraded from 0.10.x or earlier
- Fixed a bug where
podman execwithout-twould still use a terminal if the container was created with-t - Fixed a bug where container root propogation was not being properly adjusted if volumes with root propogation set were mounted into the container
- Fixed a bug where
podman execcould hold the container lock longer than necessary waiting for an exited container - Fixed a bug where rootless containers using
slirp4netnsfor networking were reporting usingbridgenetworking inpodman inspect - Fixed a bug where
podman container restore -awas attempting to restore all containers, including created and running ones. It will now only attempt to restore stopped and exited containers - Fixed a bug where rootless Podman detached containers were not being properly cleaned up
- Fixed a bug where privileged containers were being mounted with incorrect (too restrictive) mount options such as
nodev - Fixed a bug where
podman stopwould throw an error attempting to stop a container that had already stopped - Fixed a bug where
NOTIFY_SOCKETwas not properly being passed into Podman containers - Fixed a bug where
/dev/shmwas not properly mounted in rootless containers - Fixed a bug where rootless Podman would set up the CNI plugins for networking (despite not using them in rootless mode), potentially causing
inotifyrelated errors - Fixed a bug where Podman would error on numeric GIDs that do not exist in the container's
/etc/group - Fixed a bug where containers in pods or created with
--net=containerwere not mounting/etc/resolv.confand/etc/hosts
Misc
podman buildnow defaults the--force-rmflag totrue- Improved
podman runlabelsupport for labels featuring arguments with whitespace - Containers without a network namespace will now use the host's
resolv.conf - The
slirp4netnsnetwork mode can now be used with containers running as root. It may be useful for container-in-container scenarios where the outer container does not have host networking set - Podman now uses
inotifyto wait for container exit files to be created, instead of polling. Ifinotifycannot be used, Podman will fall back to polling to check if the file has been created - The
podman logscommand now uses improved short-options handling, allowing its flags to be combined if desired (for example,podman logs -lfinstead ofpodman logs -l -f) - Hardcoded OCI hooks directories used by Podman are now deprecated; they should instead be coded into the
libpod.confconfiguration file. They can be specified as an array viahooks_dir
v0.11.1.1
Bugfixes
- Fixed a bug where Podman was not correctly adding firewall rules for containers, preventing them from accessing the network
- Fixed a bug where full error messages were being lost when creating containers with user namespaces
- Fixed a bug where container state was not properly updated if a failure occurred during network setup, which could cause mounts to be left behind when the container was removed
- Fixed a bug where
podman execcould time out on slower systems by increasing the relevant timeout
Misc
podman rm -fnow removes paused containers. As such,podman rm -afcompleting successfully guarantees all Podman containers have been removed- Added a field to
podman infoto show if Podman is being run as rootless - Made a small output format change to
podman images- image sizes now feature a space between number and unit (e.g.123 MBnow instead of123MB) - Vendored an updated version of
containers/storageto fix several bugs reported upstream
v0.11.1
Features
- Added
--alland--latestflags topodman checkpointandpodman restore - Added
--max-workersflag to all Podman commands that support operating in parallel, allowing the maximum number of parallel workers used to be specified - Added
--allflag topodman restart
Bugfixes
- Fixed a bug where
podman port -lwould segfault if no containers were present - Fixed a bug where
podman stats -awould error if containers were present but not running - Fixed a bug where container status checks would sometimes leave zombie OCI runtime processes
- Fixed checkpoint and restore code to verify an appropriate version of
criuis being used - Fixed a bug where environment variables with no specified value (e.g.
-e FOO) caused errors (they are now added as empty) - Fixed a bug where rootless Podman would attempt to configure the system firewall, causing errors on some systems where iptables is not in the user's PATH
- Fixed a bug where rootless Podman was unable to successfully write the container ID to a file when
--cid-filewas specified topodman run - Fixed a bug where
podman unmountwould refuse to unmount a container if it was running (the unmount will now be deferred until the container stops) - Fixed a bug where rootless
podman attachwould fail to attach due to a too-long path name - Fixed a bug where
podman infowas not properly reporting the Git commit Podman was built from - Fixed a bug where
podman run --interactivewas not holding STDIN open when-aflag was specified - Fixed a bug where Podman with the
cgroupfsCGroup driver was sometimes not successfully removing pod CGroups - Fixed a bug where rootless Podman was unable to run systemd containers (note that this also requires an update to systemd)
- Fixed a bug where
podman runwith the--userflag would fail if the container image did not contain/etc/passwdor/etc/group
Misc
podman rm,podman restart,podman kill,podman pause, andpodman unpausenow operate in parallel, greatly improving speed when multiple containers are specifiedpodman create,podman run, andpodman pshave a number of improvements which should greatly increase their speed- Greatly improved performance and reduced memory utilization of container status checks, which should improve the speed of most Podman commands
- Improve ability of
podman runlabelto run commands that are not Podman - Podman containers with an IP address now add their hostnames to
/etc/hosts - Changed default location of temporary libpod files in rootless Podman
- Updated the default Podman seccomp profile