首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从另一个正在运行的容器中重新启动一个码头容器

从另一个正在运行的容器中重新启动一个码头容器
EN

Stack Overflow用户
提问于 2019-05-21 13:17:49
回答 2查看 2K关注 0票数 4

我正在使用坞-合成进行部署。我想从"centos-2“容器重新启动"centos-1”容器。两个容器在同一个主机上运行。请建议,我如何才能以最简单和自动化的方式实现这一点?

我遵循How to run shell script on host from docker container?并尝试从"centos-2“容器在主机上运行一个脚本,但是脚本在容器中执行,而不是在主机上执行。

剧本:

代码语言:javascript
复制
    #!/bin/bash
    sudo docker container restart centos-1

错误:

代码语言:javascript
复制
    line 2: docker: command not found

(Docker没有安装在任何centos-2集装箱内)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-21 13:29:32

你需要:

  1. 在第二个容器上安装停靠器CLI (命令行接口)。不要混淆全面安装-您不需要停靠守护进程,只需要命令行工具(docker可执行)。
  2. 共享主机的停靠守护进程(服务),以便在第二个容器中访问它。这是通过在启动第二个容器时简单地共享/var/run/docker.sock来实现的,例如: -v "/var/ run /docker.sock:/var/run/docker.sock“container2 .
  3. 现在您可以执行任何docker命令,比如第二个容器中的docker stop,这些命令很高兴地传递给您的主(也是唯一的)对接守护进程。
票数 6
EN

Stack Overflow用户

发布于 2019-05-21 13:29:46

从CI上下文中有一种方法可以从一个名为(DooD)的运行容器中控制系统上的Daemon:

  1. 你必须在你的容器里安装码头
  2. 使用volumes从容器内的系统映射停靠器安装
代码语言:javascript
复制
  -v /var/run/docker.sock:/var/run/docker.sock

现在,容器中的每个docker命令都在系统对接器安装上执行。例如,如果您在容器中键入docker image list,则应该有相同的列表,就像您在系统上键入命令一样。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56239199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档