表达能力有限,起了一个奇怪的标题 QAQ~(望 V 友们海涵 QAQ~)
太啰嗦不看版:
** 用 docker 安装的 jenkins 怎样调用物理机上的 docker-compose
命令?**
啰嗦版:
有一台装了 docker
和 docker-compose
的 ubuntu 服务器(很奇怪,mac 和 windows 安装的 docker 自带 docker-compose, 服务器端 docker
安装完后,还需要单独安装 docker-compose
,通过apt install docker-compose
安装,物理机上通过 /usr/bin/docker-compose up -d
命令可启动)
下载 jenkins 镜像并启动,docker pull jenkinsci/blueocean
,
启动命令:
docker run -d --restart=always --name=my_jenkins -p 8089:8080 -p 50001:50000 -v /root/data/jenkins_home:/var/jenkins_home --user root --privileged -v /var/run/docker.sock:/var/run/docker.sock a1a26454c4cd
加上 --privileged -v /var/run/docker.sock:/var/run/docker.sock
参数是为了让身处容器内的 jenkins 能够调用物理机中的 docker 命令~
docker-compose
各种搜索发现大多是用 docker-compose 管理 jenkins 容器的回答,对于用 jenkins 容器调用 docker-compose 命令这种场景很少~可能我这种用 jenkins 容器启动 docker-compose 的思路不对~
转念一想,docker 既然已经提供 -v /var/run/docker.sock:/var/run/docker.sock
方式允许一个容器调用物理机的docker
命令,可能也会允许一个容器通过调用物理机的 docker-compose 命令来管理多个容器,难就难在找不到把物理机 docker-compose
命令映射到 jenkins 容器的路子~
感谢大佬们指点迷津!!!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.