簡體   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