我在我的DigitalOcean Droplet上的Docker中运行Jenkins。当我的Jenkinsfile运行“ docker-compose build”时,我收到了
line 1: docker-compose: not found
尝试构建时。
我的第一个问题是,如果我用docker-compose文件中的/var/run/docker.sock:/var/run/docker.sock
挂载卷,我仍然需要
将CLI添加到我的Dockerfile中?
RUN curl -fsSLO https://get.docker.com/builds/Linux/x86_64/docker-17.04.0-ce.tgz \
&& tar xzvf docker-17.04.0-ce.tgz \
&& mv docker/docker /usr/local/bin \
&& rm -r docker docker-17.04.0-ce.tgz
从环顾四周看,仅添加音量似乎应该没问题,但我的只有在两者兼有之后才起作用。
第二个问题是(与第一个类似)-docker-compose现在应该已经可以工作了,还是我也需要在Dockerfile中安装docker-compose。
我见过
pipeline {
environment {
PATH = "$PATH:<folder_where_docker-compose_is>"
}
}
对于docker-compose,这是指我Droplet上的位置吗?我也尝试过这种方法,但不幸的是,这种方法也不起作用。
答案 0 :(得分:1)
将docker套接字安装到您的容器中只会使docker客户端与运行该容器的主机中运行的docker引擎进行交互。
您仍然需要安装docker和docker-compose客户端,才能从cli调用这些命令。
答案 1 :(得分:1)
您需要安装docker,docker-compose,确保jenkins用户在docker组中,并将docker group id设置为主机上的docker group id。