summaryrefslogtreecommitdiff
path: root/cmd/podman
diff options
context:
space:
mode:
authorGiuseppe Scrivano <gscrivan@redhat.com>2018-03-26 20:09:10 +0200
committerAtomic Bot <atomic-devel@projectatomic.io>2018-03-29 01:34:41 +0000
commitf936b745b66de3cbbdf924a26bb35766afe5acba (patch)
treeb96c47ea63b428f0a7eecf82313e3426eabd3ab1 /cmd/podman
parentecda694a92242e6e6921d42b52847bb909eb8051 (diff)
downloadpodman-f936b745b66de3cbbdf924a26bb35766afe5acba.tar.gz
podman-f936b745b66de3cbbdf924a26bb35766afe5acba.tar.bz2
podman-f936b745b66de3cbbdf924a26bb35766afe5acba.zip
podman: new option --conmon-pidfile=
so that it is possible to use systemd to automatically restart the container: [Service] Type=forking PIDFile=/run/awesome-service.pid ExecStart=/usr/bin/podman run --conmon-pidfile=/run/awesome-service.pid --name awesome -d IMAGE /usr/bin/do-something ExecStopPost=/usr/bin/podman rm awesome Restart=always Closes: https://github.com/projectatomic/libpod/issues/534 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com> Closes: #549 Approved by: rhatdan
Diffstat (limited to 'cmd/podman')
-rw-r--r--cmd/podman/common.go4
-rw-r--r--cmd/podman/create.go3
-rw-r--r--cmd/podman/run.go1
3 files changed, 8 insertions, 0 deletions
diff --git a/cmd/podman/common.go b/cmd/podman/common.go
index 93de80e29..755285c95 100644
--- a/cmd/podman/common.go
+++ b/cmd/podman/common.go
@@ -101,6 +101,10 @@ var createFlags = []cli.Flag{
Name: "cidfile",
Usage: "Write the container ID to the file",
},
+ cli.StringFlag{
+ Name: "conmon-pidfile",
+ Usage: "path to the file that will receive the PID of conmon",
+ },
cli.Uint64Flag{
Name: "cpu-period",
Usage: "Limit the CPU CFS (Completely Fair Scheduler) period",
diff --git a/cmd/podman/create.go b/cmd/podman/create.go
index 8f9e82805..c1fb15bcf 100644
--- a/cmd/podman/create.go
+++ b/cmd/podman/create.go
@@ -74,6 +74,7 @@ type createConfig struct {
CapAdd []string // cap-add
CapDrop []string // cap-drop
CidFile string
+ ConmonPidFile string
CgroupParent string // cgroup-parent
Command []string
Detach bool // detach
@@ -201,6 +202,7 @@ func createCmd(c *cli.Context) error {
// Gather up the options for NewContainer which consist of With... funcs
options = append(options, libpod.WithRootFSFromImage(createConfig.ImageID, createConfig.Image, useImageVolumes))
options = append(options, libpod.WithSELinuxLabels(createConfig.ProcessLabel, createConfig.MountLabel))
+ options = append(options, libpod.WithConmonPidFile(createConfig.ConmonPidFile))
options = append(options, libpod.WithLabels(createConfig.Labels))
options = append(options, libpod.WithUser(createConfig.User))
options = append(options, libpod.WithShmDir(createConfig.ShmDir))
@@ -611,6 +613,7 @@ func parseCreateOpts(c *cli.Context, runtime *libpod.Runtime, imageName string,
config := &createConfig{
Runtime: runtime,
BuiltinImgVolumes: ImageVolumes,
+ ConmonPidFile: c.String("conmon-pidfile"),
ImageVolumeType: c.String("image-volume"),
CapAdd: c.StringSlice("cap-add"),
CapDrop: c.StringSlice("cap-drop"),
diff --git a/cmd/podman/run.go b/cmd/podman/run.go
index 21320f57c..10f68e9da 100644
--- a/cmd/podman/run.go
+++ b/cmd/podman/run.go
@@ -84,6 +84,7 @@ func runCmd(c *cli.Context) error {
// Gather up the options for NewContainer which consist of With... funcs
options = append(options, libpod.WithRootFSFromImage(createConfig.ImageID, createConfig.Image, useImageVolumes))
options = append(options, libpod.WithSELinuxLabels(createConfig.ProcessLabel, createConfig.MountLabel))
+ options = append(options, libpod.WithConmonPidFile(createConfig.ConmonPidFile))
options = append(options, libpod.WithLabels(createConfig.Labels))
options = append(options, libpod.WithUser(createConfig.User))
options = append(options, libpod.WithShmDir(createConfig.ShmDir))