docker - 访问 docker 中的卷

标签 docker dockerfile docker-volume

我想访问 Docker 容器中的外部目录“web-app”。

考虑下面的目录结构:

MyDcocker
   |-dockerFile
   |-web-app
        |-flask-web.py

我的 dockerfile 中有以下几行:

VOLUME ["web-app"]
# Run flask-web (API) file
CMD ["python3","web-app/flask-web.py"]

运行图像时,出现错误:

python3:无法打开文件“web-app/flask-web.py”:[Errno 2]没有这样的文件或目录

我相信该目录尚未正确安装。我该如何解决这个问题?

最佳答案

您将在 Dockerfile 中编写如何构建容器,而不是容器如何与主机交互。

要将主机上的目录挂载到容器中,您有 2 个解决方案:

使用 docker 命令行:

docker run -v $(pwd)/web-app:/var/lib/web-app/ dck-image-name

使用 docker-compose

version: '2'
services:
  myservice:
    image: dck-image-name
    volumes:
      - ./web-app:/var/lib/web-app/

关于docker - 访问 docker 中的卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47471225/

相关文章:

docker - 如何使用 docker-compose 在容器和主机之间同步代码?

docker - Dockerfile卷:本地更改未反射(reflect)在Docker中

docker - 操作方法 : Dockerfile layer(s) reuse/reference

docker -/usr/bin/被授权为Docker首选项中的卷共享的默认位置?

docker-compose,容器启动后运行脚本?

mysql - 如何在Dockerfile中的SQL镜像内运行.sql文件?

python - AWS Lambda 函数无法在同一目录中找到其他包

azure - 在 Docker 文件中挂载 Azure Blob 存储

windows - “docker run -v”在使用 Docker 工具箱的 Windows 上不起作用

windows - Windows 10 上的 Docker : How to move existing containers & images to new location?