如何在高山容器中安装 Docker 并运行 Docker 镜像?我可以安装,但无法启动 docker,并且在运行时出现"找不到 docker 命令错误"。
Dockerfile 用于在 alpine 中运行 docker-cli
FROM alpine:3.10
RUN apk add --update docker openrc
RUN rc-update add docker boot
构建码头工人镜像
docker build -t docker-alpine .
运行容器(主机和 alipne 容器将共享相同的 docker 引擎)
docker run -it -v "/var/run/docker.sock:/var/run/docker.sock:rw" docker-alpine:latest /bin/sh
所需要的只是在基于 Alpine 的映像中安装 Docker CLI 并运行容器挂载docker.sock
。它允许使用主机的 Docker 引擎运行同级 Docker 容器。它被称为Docker-out-of-Docker,被认为是在容器内运行单独的Docker引擎(又名Docker-in-Docker)的良好替代方案。
Dockerfile
FROM alpine:3.11
RUN apk update && apk add --no-cache docker-cli
生成映像:
docker build -t alpine-docker .
运行容器挂载docker.sock
( -v /var/run/docker.sock:/var/run/docker.sock
):
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock alpine-docker docker ps
上面的命令应该在基于 Alpine 的容器中成功运行docker ps
。