ubuntu 上的 Docker Unix 套接字与 alpine 之间有什么区别?
What is the difference between Docker Unix socket on ubuntu vs alpine?
我 运行 遇到无法将 Unix docker 套接字 挂载到 alpine 容器[=33] 的问题=] 但适用于 ubuntu 容器.
docker-使用alpine图像合成
version: '3.8'
services:
cluster:
image: alpine
tty: true
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "/usr/bin/docker:/usr/bin/docker"
运行 docker alpine 容器中的命令:
/ # docker --version
sh: docker: not found
docker-使用ubuntu图像合成
version: '3.8'
services:
cluster:
image: ubuntu:20.04
tty: true
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "/usr/bin/docker:/usr/bin/docker"
运行 docker 命令在 ubuntu 容器中:
root@5f30b4143c43:/# docker --version
Docker version 20.10.12, build e91ed57
我不明白为什么我可以使用 ubuntu 容器而不是高山容器访问我的主机 docker env?配置中是否缺少任何内容?
您的错误与套接字无关:
/ # docker --version
sh: docker: not found
您看到这个是因为您正在尝试 运行 为 glibc
平台编译的二进制文件,而 Alpine 是使用 MUSL libc.
构建的
您需要安装专为在 Alpine 下使用而构建的 docker
客户端版本(或者选择几乎任何其他图像)。
我 运行 遇到无法将 Unix docker 套接字 挂载到 alpine 容器[=33] 的问题=] 但适用于 ubuntu 容器.
docker-使用alpine图像合成
version: '3.8'
services:
cluster:
image: alpine
tty: true
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "/usr/bin/docker:/usr/bin/docker"
运行 docker alpine 容器中的命令:
/ # docker --version
sh: docker: not found
docker-使用ubuntu图像合成
version: '3.8'
services:
cluster:
image: ubuntu:20.04
tty: true
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "/usr/bin/docker:/usr/bin/docker"
运行 docker 命令在 ubuntu 容器中:
root@5f30b4143c43:/# docker --version
Docker version 20.10.12, build e91ed57
我不明白为什么我可以使用 ubuntu 容器而不是高山容器访问我的主机 docker env?配置中是否缺少任何内容?
您的错误与套接字无关:
/ # docker --version
sh: docker: not found
您看到这个是因为您正在尝试 运行 为 glibc
平台编译的二进制文件,而 Alpine 是使用 MUSL libc.
您需要安装专为在 Alpine 下使用而构建的 docker
客户端版本(或者选择几乎任何其他图像)。