我想从 docker python:3 将
/usr/local/bin/
安装到我的主机上。我想要这样做的原因是因为我希望我的 Pycharm 社区版能够在我的 IDE 中使用我的 docker 解释器。
这是我的 docker compose 文件:
version: '3.8'
services:
db:
image: mysql:8.0
cap_add:
- SYS_NICE
restart: always
environment:
- MYSQL_DATABASE=mydb
- MYSQL_ROOT_PASSWORD=root
ports:
- '3306:3306'
volumes:
- db:/var/lib/mysql
- ./db/init.sql:/docker-entrypoint-initdb.d/init.sql
web:
build: .
command: python app/manage.py runserver 0.0.0.0:8000
volumes:
- .:/code/app
- ./python-env:/usr/local/bin/
ports:
- "8000:8000"
environment:
- DB_NAME=mydb
- DB_USER=root
- DB_PASSWORD=root
depends_on:
- db
volumes:
db:
driver: local
问题出在这一行:
- ./python-env:/usr/local/bin/
错误是:
Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "python": executable file not found in $PATH: unknown
我尝试在我的 docker 构建文件中设置一个符号链接到 /usr/local/bin 并挂载该目录,但没有成功。有人对这个问题有任何想法吗?
bin 文件夹包含操作系统的基本可执行文件。当您将自己的卷 python-env 挂载到 dockers user/local/bin 时,无法在挂载的文件夹(python-env)中找到任何所需的文件并给出错误。
如果您的目标是在主机和容器之间共享 Python 环境,您可以
# Prepend "/my/custom/path" to the PATH which contains python executable
ENV PATH=/my/custom/path:$PATH
# Rest of your Docker Configs