553 Commits

Author SHA1 Message Date
0b57e77d7c libpod: support for cgroup namespace
allow a container to run in a new cgroup namespace.

When running in a new cgroup namespace, the current cgroup appears to
be the root, so that there is no way for the container to access
cgroups outside of its own subtree.

By default it uses --cgroup=host to keep the previous behavior.

To create a new namespace, --cgroup=private must be provided.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-18 10:32:25 +02:00
3e53bfe36e Make the healthcheck flags compatible with Docker CLI
Docker CLI calls the healthcheck flags "--health-*", instead of
"--healthcheck-*".

Introduce the former, in order to keep compatibility, and alias
the later, in order to avoid breaking current usage.

Change "--healthcheck-*" to "--health-*" in the docs and tests.

Signed-off-by: Hunor Csomortáni <csomh@redhat.com>
2019-07-16 06:15:28 +02:00
e4cba7d36a create: improve parser for --healthcheck-command
Fix Docker CLI compatibility issue: the "--healthcheck-command" option
value should not be split but instead be passed as single string to
"CMD-SHELL", i.e. "/bin/sh -c <opt>".

On the other hand implement the same extension as is already available
for "--entrypoint", i.e. allow the option value to be a JSON array of
strings. This will make life easier for tools like podman-compose.

Updated "--healthcheck-command" option values in tests accordingly.

Continuation of #3455 & #3507

Signed-off-by: Stefan Becker <chemobejk@gmail.com>
2019-07-14 10:33:01 +03:00
6f3e7f7ecc Merge pull request #3557 from rhatdan/env
Add support for --env-host
2019-07-12 10:33:18 +02:00
369f8b8862 Fix spelling mistakes in man pages and other docs
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-07-11 17:56:54 -04:00
efe9c5b0e7 Add glob parsing for --env flag
Sometimes you want to add a few environmen variables based on the last field being a "*".

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-07-11 17:15:20 -04:00
2b64f88446 Merge pull request #3491 from giuseppe/rlimit-host
podman: add --ulimit host
2019-07-11 21:35:37 +02:00
df75fc62c8 Add support for -env-host
This flag passes the host environment into the container.  The basic idea is to
leak all environment variables from the host into the container.

Environment variables from the image, and passed in via --env and --env-file
will override the host environment.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-07-11 13:25:47 -04:00
e053e0e05e first pass of corrections for golangci-lint
Signed-off-by: baude <bbaude@redhat.com>
2019-07-10 15:52:17 -05:00
fce2e6577e Merge pull request #3497 from QazerLab/bugfix/systemd-generate-pidfile
Use conmon pidfile in generated systemd unit as PIDFile.
2019-07-08 23:39:42 +02:00
fb88074e68 podman: add --ulimit host
add a simple way to copy ulimit values from the host.

if --ulimit host is used then the current ulimits in place are copied
to the container.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-08 19:22:54 +02:00
69a229b24b docs: fix --healthcheck-command option
Make the documentation agree with the code.

Related #3507

Signed-off-by: Stefan Becker <chemobejk@gmail.com>
2019-07-08 19:06:01 +03:00
a54429cf87 Use conmon pidfile in generated systemd unit as PIDFile.
By default, podman points PIDFile in generated unit file to non-existent
location. As a result, the unit file, generated by podman, is broken:
an attempt to start this unit without prior modification results in a crash,
because systemd can not find the pidfile of service's main process.

Fix the value of "PIDFile" and add a system test for this case.

Signed-off-by: Danila Kiver <danila.kiver@mail.ru>
2019-07-04 03:58:37 +03:00
827ac0859f lock: new lock type "file"
it is a wrapper around containers/storage file locking.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-02 16:41:10 +02:00
7e3f1c21b0 libpod: specify a detach keys sequence in libpod.conf
Add the ability of specifying a detach keys sequence in libpod.conf

Signed-off-by: Marco Vedovati <mvedovati@suse.com>
2019-06-26 10:12:34 +02:00
21978c9908 Merge pull request #3332 from rhatdan/cgroupmanager
Correctly identify the defaults for cgroup-manager
2019-06-25 14:54:28 +02:00
80440408ad Fix configs location in rootless tutorial.
Signed-off-by: Danila Kiver <danila.kiver@mail.ru>
2019-06-22 02:20:44 +03:00
a1a70ff5e0 Merge pull request #3197 from TomSweeneyRedHat/dev/tsweeney/rootlesstutorial
First pass rootless tutorial
2019-06-20 13:20:29 +02:00
00f266393e Merge pull request #3356 from giuseppe/system-migrate-add-doc
docs: add note to system migrate
2019-06-20 12:30:23 +02:00
300025359e docs: add note to system migrate
add a note explaining how it can be used to recreate the rootless user
namespace.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-06-19 22:58:37 +02:00
47e2ad8ec3 Fix documentation for log-driver
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-06-19 12:50:05 -04:00
292a48cab4 cmd, docs, test: fix some typos
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-06-18 10:52:19 +02:00
8bcfd24397 Merge pull request #3338 from jwhonce/issue/3299
Add remote client log to file
2019-06-18 01:03:38 +02:00
7d0e77de94 Merge pull request #3296 from arkamar/typos
Fix some typos in few *.md files
2019-06-17 21:26:25 +02:00
9588eea3a1 First pass rootless tutorial
First pass of the rootless tutorial.  This may be come the basis
for a User Guide of the same.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2019-06-17 15:00:45 -04:00
0003be1e0e Add remote client logging to a file
Logging messages from the dependency libraries should not log onto the
screen when using the remote client.  This patch writes logging to
~/.config/containers/podman-remote.log

Fixes #3299

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2019-06-17 08:01:39 -07:00
0d341170d5 Fix subgidname option in docs for podman run
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2019-06-17 15:48:29 +03:00
7ae56aab46 docs/podamn.1.md: fix typo: remove double the
Signed-off-by: Petr Vaněk <arkamar@atlas.cz>
2019-06-15 23:07:12 +02:00
53c3720de9 Correctly identify the defaults for cgroup-manager
Currently we report cgroupmanager default as systemd, even if the user modified
the libpod.conf.  Also cgroupmanager does not work in rootless mode.  This
PR correctly identifies the default cgroup manager or reports it is not supported.

Also add homeDir to correctly get the homedir if the $HOME is not set.  Will
attempt to get Homedir out of /etc/passwd.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-06-15 09:51:47 -04:00
878be6d505 Merge pull request #3336 from TomSweeneyRedHat/dev/tsweeney/fixdoc
Change container command to contained
2019-06-15 11:53:54 +02:00
aa2992dec6 Merge pull request #3330 from mheon/remote_storage
Add --storage flag to 'podman rm' (local only)
2019-06-14 22:54:56 +02:00
b7cbf93336 Change container command to contained
A quick follow up to #3306 to touch up two more
'container command' to 'contained command' to match the
rest of the doc suite.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2019-06-14 13:51:17 -04:00
1ac8307ae4 Merge pull request #3306 from rhatdan/exit
Document exit codes for podman exec
2019-06-14 18:05:56 +02:00
c7ee7f868d Document exit codes for podman exec
Also fix podman run exit codes to show real messages when failures
happen.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-06-13 23:38:10 -04:00
49e696642d Add --storage flag to 'podman rm' (local only)
This flag switches to removing containers directly from c/storage
and is mostly used to remove orphan containers.

It's a superior solution to our former one, which attempted
removal from storage under certain circumstances and could, under
some conditions, not trigger.

Also contains the beginning of support for storage in `ps` but
wiring that in is going to be a much bigger pain.

Fixes #3329.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-06-13 17:02:20 -04:00
23efe4cb81 storage: support --mount type=bind,bind-nonrecursive
add support for not recursive bind mounts.

Closes: https://github.com/containers/libpod/issues/3314

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-06-13 15:32:45 +02:00
c385f33cdf Merge pull request #3290 from edsantiago/bats
BATS tests - get working again
2019-06-11 21:21:33 +02:00
f909b745ec Add --filename option to generate kube
This allows writing output directly to a file, instead of STDOUT.
Makes things easier for some scripting tasks. Like the unit tests
for 'play kube'.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-06-11 11:26:46 -04:00
9f49c1af46 Prohibit use of positional args with --import
I took the liberty of combining related checks together
so as to avoid a little duplication; if this is not a
Go best practice, I will revert. I also made a minor
wording adjustment to an error message for clarity.

Also: update wording of man page.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-06-11 06:53:03 -06:00
013b897ace Merge pull request #3254 from ashley-cui/standarddoc
Standardize Documentation
2019-06-10 19:45:31 +02:00
19e0928037 standardize documentation formatting
Signed-off-by: Ashley Cui <ashleycui16@gmail.com>
2019-06-10 11:48:02 -04:00
f6a2860b62 Merge pull request #3213 from juhp/patch-1
fix tutorial link to install.md
2019-06-08 12:51:57 +02:00
cae5af5b93 Merge pull request #3276 from jwakely/patch-1
Fix spelling
2019-06-07 23:37:39 +02:00
d40b450afd Default 'pause' to false for 'podman cp'
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-06-07 15:17:40 -04:00
346128792c Merge pull request #2272 from adrianreber/migration
Add support to migrate containers
2019-06-07 14:33:20 +02:00
bfd2483747 Fix spelling
Signed-off-by: Jonathan Wakely <jwakely@redhat.com>
2019-06-07 10:08:43 +01:00
0c3e3bebbb fix tutorial link to install.md
[skip ci]

Signed-off-by: Jens Petersen <petersen@redhat.com>
2019-06-07 06:16:47 +00:00
3fb9669a63 Merge pull request #3231 from baude/remoteclientconf
podman-remote.conf enablement
2019-06-04 20:02:01 +02:00
bef83c42ea migration: add possibility to restore a container with a new name
The option to restore a container from an external checkpoint archive
(podman container restore -i /tmp/checkpoint.tar.gz) restores a
container with the same name and same ID as id had before checkpointing.

This commit adds the option '--name,-n' to 'podman container restore'.
With this option the restored container gets the name specified after
'--name,-n' and a new ID. This way it is possible to restore one
container multiple times.

If a container is restored with a new name Podman will not try to
request the same IP address for the container as it had during
checkpointing. This implicitly assumes that if a container is restored
from a checkpoint archive with a different name, that it will be
restored multiple times and restoring a container multiple times with
the same IP address will fail as each IP address can only be used once.

Signed-off-by: Adrian Reber <areber@redhat.com>
2019-06-04 14:02:51 +02:00
a4d33330d6 Include container migration into tutorial
Signed-off-by: Adrian Reber <areber@redhat.com>
2019-06-03 22:05:13 +02:00