从里面重启容器

时间:2018-04-07 23:43:27

标签: docker centos

在批处理作业中,我正在进行大量操作 在码头工人里面。

是否有从内部发送命令所以docker 可以回来,好像它刚刚开始一样?

2 个答案:

答案 0 :(得分:1)

您需要在构建docker镜像时安装docker客户端,并在运行新容器时映射/var/run/docker.sock以启用容器内的docker客户端以连接主机上的docker守护程序,然后您可以使用{{1命令就像在主机上一样。

首先,添加命令以在docker中安装docker-ce:

Dockerfile

然后,构建一个新图像并使用它运行一个新容器:

FROM centos:7.4.1708

RUN set -ex \
    && curl https://download.docker.com/linux/centos/docker-ce.repo \
            -o /etc/yum.repos.d/docker-ce.repo \       
    && yum install docker-ce -y

现在,您可以在docker容器内操作docker-daemon(在主机上)。

$ docker build --tag docker-in-docker:v1 .
$ docker run -dit \
             --name docker-in-docker \
             -v /var/run/docker.sock:/var/run/docker.sock:ro \
             docker-in-docker:v1 bash

答案 1 :(得分:0)

reboot命令可以从容器中使用。 我在docker内部的Go代码中使用了此

out,err = exec.Command(“ reboot”)。Output()