繁体   English   中英

如何从 Dockerized Jenkins 容器运行 Docker 和 Docker-Compose?

[英]How to run Docker and Docker-Compose from a Dockerized Jenkins container?

我有这个 docker-compose 来运行一个 Dockerized Jenkins 容器,

version: '2'
services:
  jenkins:
    image: 'jenkinsci/blueocean'
    environment:
      - JENKINS_OPTS="--prefix=/jenkins"
    user: 'root'
    ports:
      #host:container
      - '8888:8080'
    volumes:
      #host:container
      - /dati/jenkins:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/bin:/usr/bin
      - /usr/local/bin:/usr/local/bin

我能跑

docker ps

但不是

docker-compose -v

这给了我docker-compose: not found

但是我可以从容器内部列出它:

[root@dev-machine ~]# docker ps
CONTAINER ID        IMAGE                                  COMMAND                   CREATED             STATUS                  PORTS                               NAMES
d183202f2b2a        jenkinsci/blueocean                    "/sbin/tini -- /usr/…"    15 hours ago        Up 15 hours             50000/tcp, 0.0.0.0:8888->8080/tcp   jenkins-compose_jenkins_1

[root@dev-machine ~]# whereis docker-compose
docker-compose: /usr/bin/docker-compose
[root@dev-machine ~]# docker exec -it d183202f2b2a sh
/ # ls -l /usr/bin/docker-compose
-rwxr-xr-x 1 root root 218 Oct 26 09:09 /usr/bin/docker-compose
/ #

我确定 Jenkins 的用户是 root,如下图所示:

/ # whoami
root

从 Dockerized Jenkins 容器中使 Docker-Compose 工作我缺少什么?

docker-compose 文件中的 Jenkins 容器:在此处输入图像描述

您应该在 docker-compose 文件中添加这些行。

不要忘记 /usr/local/bin/docker-compose 文件在您的服务器机器中不能为空。

Jenkins 执行结果:在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM