【问题标题】:Docker command inside docker containerdocker容器内的docker命令
【发布时间】:2017-11-28 23:30:38
【问题描述】:

我有一个 Ubuntu 主机。在这个主机中,我运行一个 docker 容器,它为我提供了 Jenkins 应用程序。

在管道中,Jenkins 开始克隆 git 存储库。

然后在 Jenkins 节点中,我运行另一个 docker 容器,它需要作为参考在上一步中下载的文件。

问题是当我手动连接到 jenkins 容器时,我可以看到所有这些文件,但是当我运行第二个 docker 命令时,我没有看到我的文件,而是看到了主机 fs...

现在,我使用 ansible 挂载我的卷:

jenkins-slave-docker:
  image: "{{ registry_url }}/jenkins-slave-docker"
  restart: unless-stopped
  tty: true
  privileged: true
  stdin_open: true
  volumes:
    - "/var/run/docker.sock:/var/run/docker.sock:ro"
    - "/var/run/docker.sock:/etc/default"

我应该如何访问 Jenkins 容器的 git 文件?

【问题讨论】:

  • 如果代码是在 jenkins 主实例上克隆的,您需要通过 volme 将代码目录绑定到容器,或者使用 stash 和 unstash 复制容器内的文件...跨度>
  • 代码在 maven 节点上克隆,我将其存储,并在 docker 节点上取消存储,但我的 docker 命令未找到文件

标签: docker jenkins ansible devops


【解决方案1】:

你应该挂载 -v /var/run/docker.sock:/var/run/docker.sock 有了它,您应该只有主机的 docker 套接字,这就是您在容器中运行 docker 命令所需的。

【讨论】:

  • 您的容器正在以 root 身份运行?
猜你喜欢
  • 2021-08-18
  • 1970-01-01
  • 2018-07-26
  • 2020-10-04
  • 1970-01-01
  • 1970-01-01
  • 2015-10-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多