首页 > 解决方案 > docker找不到docker命令的mountend套接字

问题描述

我有一个带有基本图像 python 的容器。容器的工作是执行一个 python 脚本,这个问题的相关部分在这里:

client = docker.from_env()
output = client.containers.run("ubuntu:latest", "echo hello world")
print (output)

我在启动时将 docker 的套接字安装在容器中:

docker run -tv /var/run/docker.sock:/var/run/docker.sock -ti python_docker

但是每次我运行容器时,都会出现以下错误:

FileNotFoundError: [Errno 2] No such file or directory: 'docker': 'docker'

我试图查看脚本是否有问题,但是当它在容器之外运行时,它可以正常工作。

我用于在 python 中运行容器的库: https ://pypi.org/project/docker/

以及容器的dockerfile:

FROM python
MAINTAINER jocomol
ADD ./run_container.py .
RUN pip3 install colorful docker
CMD python3 ./run_container.py

标签: pythondocker

解决方案


我能够解决这个问题。我所做的只是挂载 Docker 二进制文件。

docker run -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -ti python_docker


推荐阅读