1
0
mirror of https://github.com/docker/cli.git synced 2026-01-18 08:21:31 +03:00
Files
cli/components/engine/pkg/libcontainer
Michael Crosby e501c61ed3 Refactor to remove cmd from container
Pass the container's command via args
Remove execin function and just look for an
existing nspid file to join the namespace
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: d84feb8fe5e40838c81321249189f1f0a02825bb
Component: engine
2014-02-21 14:56:16 -08:00
..
2014-02-21 14:56:16 -08:00
2014-02-21 14:56:16 -08:00
2014-02-21 14:56:15 -08:00
2014-02-21 14:56:15 -08:00
2014-02-21 14:56:15 -08:00
2014-02-21 14:56:16 -08:00

libcontainer - reference implementation for containers

playground

Use the cli package to test out functionality

First setup a container configuration. You will need a root fs, better go the path to a stopped docker container and use that.

{
    "id": "koye",
    "namespace_pid": 12265,
    "command": {
        "args": [
            "/bin/bash"
        ],
        "environment": [
            "HOME=/",
            "PATH=PATH=$PATH:/bin:/usr/bin:/sbin:/usr/sbin",
            "container=docker",
            "TERM=xterm"
        ]
    },
    "rootfs": "/root/development/gocode/src/github.com/docker/libcontainer/namespaces/ubuntu",
    "network": null,
    "user": "",
    "working_dir": "",
    "namespaces": [
        "NEWNET",
        "NEWIPC",
        "NEWNS",
        "NEWPID",
        "NEWUTS"
    ],
    "capabilities": [
        "SETPCAP",
        "SYS_MODULE",
        "SYS_RAWIO",
        "SYS_PACCT",
        "SYS_ADMIN",
        "SYS_NICE",
        "SYS_RESOURCE",
        "SYS_TIME",
        "SYS_TTY_CONFIG",
        "MKNOD",
        "AUDIT_WRITE",
        "AUDIT_CONTROL",
        "MAC_OVERRIDE",
        "MAC_ADMIN"
    ]
}

After you have a json file and a rootfs path to use just run: ./cli exec container.json

If you want to attach to an existing namespace just use the same json file with the container still running and do: ./cli execin container.json