[英]How to install docker-compose in jenkinsci/blueocean?
自官方文件提到图像以来, docker
图像jenkinsci / blueocean似乎是正式的。
我想在容器中运行docker-compose
命令,但这个图像只有docker
而不是docker-compose
。
因此,我尝试将docker-compose
安装为容器内的常用方法。
$ curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose
它看起来安装成功,然而,当我运行bash: ./docker-compose: No such file or directory
docker-compose --version
,它返回bash: ./docker-compose: No such file or directory
docker-compose --version
bash: ./docker-compose: No such file or directory
,即使我可以在$(which docker-compose)
看到docker-compose
可执行文件$(which docker-compose)
。
(此错误与$PATH
无关,我试图直接在docker-compose
所在的目录中运行)
我怎么能在图像中安装docker-compose
,也就是说,如何基于jenkinsci/blueocean
构建包含jenkinsci/blueocean
docker-compose
的新图像?
对我来说,从“安装为集装箱”的解决方案是:
$ sudo curl -L --fail https://github.com/docker/compose/releases/download/1.21.2/run.sh -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
你需要添加glibc:
FROM jenkinsci/blueocean
USER root
RUN curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose && \
chmod +x /usr/local/bin/docker-compose
RUN apk add ca-certificates wget && \
wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub && \
GLIBC_VERSION='2.27-r0' && \
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-${GLIBC_VERSION}.apk && apk add glibc-${GLIBC_VERSION}.apk && \
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-bin-${GLIBC_VERSION}.apk && apk add glibc-bin-${GLIBC_VERSION}.apk
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.