667 Commits

Author SHA1 Message Date
0d623914d0 Add support for anonymous volumes to podman run -v
Previously, when `podman run` encountered a volume mount without
separate source and destination (e.g. `-v /run`) we would assume
that both were the same - a bind mount of `/run` on the host to
`/run` in the container. However, this does not match Docker's
behavior - in Docker, this makes an anonymous named volume that
will be mounted at `/run`.

We already have (more limited) support for these anonymous
volumes in the form of image volumes. Extend this support to
allow it to be used with user-created volumes coming in from the
`-v` flag.

This change also affects how named volumes created by the
container but given names are treated by `podman run --rm` and
`podman rm -v`. Previously, they would be removed with the
container in these cases, but this did not match Docker's
behaviour. Docker only removed anonymous volumes. With this patch
we move to that model as well; `podman run -v testvol:/test` will
not have `testvol` survive the container being removed by `podman
rm -v`.

The sum total of these changes let us turn on volume removal in
`--rm` by default.

Fixes: #4276

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-10-17 13:18:17 -04:00
f10f9bc58f rootless v2 cannot collect network stats
network statistics cannot be collected for rootless network devices with
the current implementation.  for now, we return nil so that stats will
at least for users.

Fixes:#4268

Signed-off-by: baude <bbaude@redhat.com>
2019-10-15 14:09:41 -05:00
e5de079714 Merge pull request #4267 from giuseppe/accept-sbin-init
systemd: accept also /sbin/init
2019-10-15 13:10:01 +02:00
935802575b Merge pull request #4215 from TomSweeneyRedHat/dev/tsweeney/fixsquash
Add squash-all, fix squash option in build
2019-10-15 12:21:17 +02:00
38a6a2000a systemd: accept also /sbin/init
it is a regression caused by
3ba3e1c7510d1780b6527a4aa52e40ac2c5b576a.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1761514

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-15 11:14:21 +02:00
cf7e3f3b2f Merge pull request #4243 from TomSweeneyRedHat/dev/tsweeney/fixrunmd
Touch up bad math in run man page
2019-10-12 19:14:24 +02:00
cee6478f9e Merge pull request #4221 from mheon/reset_runtime
Migrate can move containers to a user-defined runtime
2019-10-11 19:56:13 +02:00
ca80c60523 Touch up bad math in run man page
We'd an off by one error in the run man page spotted by @leorochael in

Fixes: #4239

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2019-10-11 13:55:31 -04:00
beadd2694b Add squash-all, fix squash option in build
Translate the podman build --squash command to podman build --layers=false which
has the same functionality as docker build --squash. Add a new option --squash-all
which will squash all layers into one. This will be translated to buildah bud --squash
for the buildah bud api.

Also allow only one option, squash, layers or squash--all to be used per build command.

Fixes: https://github.com/containers/buildah/issues/1234

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2019-10-11 13:28:38 -04:00
102d1328c0 Update build man page with latest Buildah changes
Changes include: Containerfile by default, add --device flags to bud, allow buildah bud to be called without
arguments, and a couple of small typo corrections.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2019-10-10 18:04:30 -04:00
feba94eb95 Migrate can move containers to a new runtime
This is a horrible hack to work around issues with Fedora 31, but
other distros might need it to, so we'll move it upstream.

I do not recommend this functionality for general use, and the
manpages and other documentation will reflect this. But for some
upgrade cases, it will be the only thing that allows for a
working system.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-10-10 10:25:06 -04:00
5963077e93 cli: support --systemd=always
it enforces the systemd mode also when the command name doesn't match
/usr/sbin/init or systemd.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-09 23:39:18 +02:00
3ba3e1c751 systemd: expect full path /usr/sbin/init
"init" is a quite common name for the command executed in a container
image and Podman ends up using the systemd mode also when not
required.

Be stricter on enabling the systemd mode and not enable it
automatically when the basename is "init" but expect the full path
"/usr/sbin/init".

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-09 23:38:45 +02:00
118cf1fc63 Setup a reasonable default for pids-limit 4096
CRI-O defaults to 1024 for the maximum pids in a container.  Podman
should have a similar limit. Once we have a containers.conf, we can
set the limit in this file, and have it easily customizable.

Currently the documentation says that -1 sets pids-limit=max, but -1 fails.
This patch allows -1, but also indicates that 0 also sets the max pids limit.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-10-04 16:09:13 -04:00
c9e936a407 Merge pull request #3549 from marcov/evict-container
Add ability to evict a container
2019-10-04 07:30:27 -07:00
7af4074c6f Merge pull request #4161 from afbjorklund/machine-env
Handle environment variables from podman-machine
2019-10-03 12:45:43 -07:00
5f932fa441 Add api link to tutorials
We recently moved the "How to use libpod for custom/derivative projects" page to
the docs/tutorials directory.  This adds a link to the README.md there so it can
be more easily found and adds a logo to the tutorial itself.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2019-10-02 10:25:42 -04:00
32b2856e7a Allow changing IdentityFile and to IgnoreHosts
Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2019-10-01 19:46:48 +02:00
4fe49f5840 Merge pull request #4152 from mheon/move_deriv_api
Move derivitive doc so it won't be treated as a manpage
2019-10-01 08:53:26 -07:00
2c23729c84 Merge pull request #4001 from kunalkushwaha/podman-import-fix
podman import syntax fix
2019-09-30 07:20:09 -07:00
76120ce638 Move derivitive doc so it won't be treated as a manpage
Anything with the .md suffix in docs/ gets compiled into a
manpage, so let's get things that aren't manpages out of there.
This isn't precisely a tutorial, but it seems like the next best
place.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-09-30 08:56:38 -04:00
be9dbb47d2 new examples added
updated two examples with supported CMD and ENTRYPOINT syntax.

Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>
2019-09-27 17:42:11 +09:00
34ef662f9e Make links relative in Tutorial README
Remove the longer html link in favor or relative links
which are shorter and less error prone.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2019-09-26 09:22:58 -04:00
d76b21e27a Merge pull request #4109 from cgwalters/doc-custom-project
docs/podman-derivative-api.md: New file
2019-09-26 15:15:17 +02:00
af00094558 docs/podman-derivative-api.md: New file
https://github.com/debarshiray/toolbox/ was planning to vendor
libpod which I disagreed with.  Let's document the advantages/disadvantages
as they exist today.

Signed-off-by: Colin Walters <walters@verbum.org>
2019-09-26 12:06:40 +00:00
dacbc5beb2 rm: add containers eviction with rm --force
Add ability to evict a container when it becomes unusable. This may
happen when the host setup changes after a container creation, making it
impossible for that container to be used or removed.
Evicting a container is done using the `rm --force` command.

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2019-09-25 19:44:38 +02:00
0144c3796b fix cp none exists dest path ends with '/'
close #3894
This patch let podman cp return 'no such file or directory' error if DEST_PATH does not exist and ends with / when copying file.

Signed-off-by: Qi Wang <qiwan@redhat.com>
2019-09-25 12:48:05 -04:00
0296e50465 Update mac_client link
I fixed the mac_client tutorial link as it was returning a 404 error.

Signed-off-by: Dylan Pinn <me@dylanpinn.com>
2019-09-24 22:19:21 +10:00
72e0339364 Document the 'system' event types for 'podman events'
Fixes: #4002

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-09-23 10:15:15 -04:00
45b0725102 Merge pull request #4064 from TomSweeneyRedHat/dev/tsweeney/tutfix
Move rootless and Mac to Tutorials page
2019-09-20 05:56:10 +02:00
9f84d2ee27 Move rootless and Mac to Tutorials page
As the title says.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2019-09-19 19:26:32 -04:00
96bcf8cecc Support podman-remote help on windows
* Update scipts to produce darwin and windows output
* Update batch file to re-direct help requests to browser
* Add pandoc filter for markdown to html links

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2019-09-19 14:14:38 -07:00
6789428265 Merge pull request #4040 from mheon/mac_tutorial_links
Add links to the Mac tutorial in the main tutorial
2019-09-19 03:50:11 +02:00
0d9b952aea support non-standard ssh port for remote-client
when using the remote client, users may need to specify a non-standard
port for ssh connections.  we can do so on the command line and within
the remote-client configuration file.

Fixes: #3987

Signed-off-by: baude <bbaude@redhat.com>
2019-09-17 13:42:02 -05:00
e3a343e23f Add links to the Mac tutorial in the main tutorial
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-09-17 14:35:24 -04:00
405ef9bc56 Add 'relabel' to --mount options
Currently if a user specifies a --mount option, their is no way to tell SELinux
to relabel the mount point.

This patch addes the relabel=shared and relabel=private options.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-09-16 09:56:43 -04:00
a481a1265a Fix default to pause in podman cp
We want to default to secure when running containers as root,
in rootless, we need to change the default if the system does not
support cgroup v1.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-09-13 16:43:50 -04:00
b94ea07265 enhance podman network rm
when removing a podman network, we need to make sure we delete the
network interface if one was ever created (by running a container).
also, when removing networks, we check if any containers are using the
network.  if they are, we error out unless the user provides a 'force'
option which will remove the containers in question.

Signed-off-by: baude <bbaude@redhat.com>
2019-09-12 14:03:52 -05:00
ce31aa37d6 Merge pull request #3968 from TomSweeneyRedHat/dev/tsweeney/rootlessup
Add cgroup v2 info to rootless tutorial
2019-09-12 10:20:34 +02:00
6c702171da Add cgroup v2 info to rootless tutorial
Adding cgroup v2 information to the rootless tutorial.  Will post it to a Google Doc
to for easier review comments.

https://docs.google.com/document/d/1hrxU-CYhrKDjMf6cIRuegbyY9pkDv-AlEF-i0I8_kdk

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2019-09-11 17:15:52 -04:00
10c293d7a9 podman-remote image trust is broken
We should not be making it available, it does nothing.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-09-11 16:03:45 -04:00
7ac6ed3b4b Merge pull request #3581 from mheon/no_cgroups
Support running containers without CGroups
2019-09-11 00:58:46 +02:00
c1761ba1ac Merge pull request #3817 from xcffl/master
Add explanation mounting named volumes for `podman run`
2019-09-10 19:17:39 +02:00
c2284962c7 Add support for launching containers without CGroups
This is mostly used with Systemd, which really wants to manage
CGroups itself when managing containers via unit file.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-09-10 10:52:37 -04:00
9a55bce9e4 Merge pull request #3896 from mheon/volume_lookup
Add ability to look up volumes by unambiguous partial name
2019-09-09 21:48:30 +02:00
7042a3d7a5 Merge pull request #3862 from baude/networkcreate
podman network create
2019-09-09 19:44:57 +02:00
046178e55f Add function for looking up volumes by partial name
This isn't included in Docker, but seems handy enough.

Use the new API for 'volume rm' and 'volume inspect'.

Fixes #3891

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-09-09 12:06:10 -04:00
ee432cf279 podman network create
initial implementation of network create.  we only support bridging
networks with this first pass.

Signed-off-by: baude <bbaude@redhat.com>
2019-09-09 09:32:43 -05:00
d78521de11 Merge pull request #3914 from marcov/units-opts
cli-flags: use a consistent format for <size><unit>
2019-09-09 10:06:11 +02:00
3d240bd795 Replace "podman" with "Podman"
Signed-off-by: xcffl <xcffl@outlook.com>
2019-09-07 20:16:42 +08:00