python - 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
解决方案
我能够解决这个问题。我所做的只是挂载 Docker 二进制文件。
docker run -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -ti python_docker
推荐阅读
- javascript - 未捕获的引用错误的问题。$ 未定义
- python - 如果条件对我不起作用,为什么?连逻辑都是真的
- mysql - SQL 按几个字段分组
- javascript - 带有异步库的 Google PubSub 中的异步订阅者
- gcc - 为什么 /usr/lib64 不在 ld.so 的默认位置?
- c - size_t 总是为 getcwd 找到合适的大小
- javascript - 使用表单修改值
- angular - 从服务数据中提取数据到对象
- php - PHP 联系表问题 - 400 错误,看不到故障
- java - Android - 从 txt 文件中读取并添加到 ArrayList