gpt4 book ai didi

docker-compose 在 Alpine 容器内

转载 作者:行者123 更新时间:2023-12-02 18:14:25 30 4
gpt4 key购买 nike

我正在尝试将我的应用程序(代码、Dockerfiles 和 docker-compose 脚本)捆绑在一个图像中以便于部署(入口点只是 docker-compose up )。这个顶级应用程序镜像的 Dockerfile 看起来像这样

FROM alpine:latest
COPY . /app
RUN apk update && apk add --no-cache docker py-pip openrc && pip install docker-compose

当我运行这个镜像时,dockerd 似乎还没有启动,没有出现在 top 中。结果; docker ps报告“无法连接到 unix:///var/run/docker.sock 上的 Docker 守护进程。docker 守护进程是否正在运行?
“。但是,如果我做 service docker start ,这将返回“* 警告:docker 已经启动”。我需要做什么特别的事情来让 Alpine 容器的 Docker 工作?

最佳答案

如果您不能或不想继承 docker:dindgrapes 中所述answer可以选择使用 alpine作为基础镜像并安装 Docker CLI 和 Docker Compose。

为了保持镜像较小,可以在 Docker Compose 安装后删除一些依赖项:

FROM alpine:3.11

RUN apk update && \
apk add --no-cache docker-cli python3 && \
apk add --no-cache --virtual .docker-compose-deps python3-dev libffi-dev openssl-dev gcc libc-dev make && \
pip3 install docker-compose && \
apk del .docker-compose-deps

此镜像不包含 Docker 引擎,必须通过挂载使用 Docker-in-Dcoker 方法 /var/run/docker.sock来自主持人
docker run -v /var/run/docker.sock:/var/run/docker.sock <image name>

关于docker-compose 在 Alpine 容器内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54711502/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com