如何使用docker compose装载主机目录~/路径/on/host";在运行主机时指定,而不是在docker compose文件中指定
我想知道如何使用docker compose装载主机目录 目前我只是使用一个普通的Dockerfile,它工作得很好。当我运行容器时,我只指定主机上的路径和容器上的路径如何使用docker compose装载主机目录~/路径/on/host";在运行主机时指定,而不是在docker compose文件中指定,docker,docker-compose,environment-variables,dockerfile,docker-volume,Docker,Docker Compose,Environment Variables,Dockerfile,Docker Volume,我想知道如何使用docker compose装载主机目录 目前我只是使用一个普通的Dockerfile,它工作得很好。当我运行容器时,我只指定主机上的路径和容器上的路径 docker run -d -p 3000:3000 -v ~/path/on/host:/path/on/container my-container 我想使用docker compose实现这一点,但我不确定它是如何工作的。下面是我的docker compose version: '3' services: my-a
docker run -d -p 3000:3000 -v ~/path/on/host:/path/on/container my-container
我想使用docker compose实现这一点,但我不确定它是如何工作的。下面是我的docker compose
version: '3'
services:
my-app:
build:
context: .
dockerfile: ./path/to/Dockerfile
此外,我需要在运行主机时指定~/path/on/host,而不是在docker compose文件中
version: '3'
services:
my-app:
build:
context: .
dockerfile: ./path/to/Dockerfile
volumes:
- ~/path/on/host:/path/on/container
ports:
- "3000:3000"
然后您可以使用docker compose up-d
启动您的服务。请确保首先停止并移除使用docker命令启动的容器,否则会发生冲突
根据评论进行编辑:
创建包含以下内容的.env文件:
HOST_PATH=~/path/on/host
并更改docker-compose.yml:
version: '3'
services:
my-app:
build:
context: .
dockerfile: ./path/to/Dockerfile
volumes:
- ${HOST_PATH}:/path/on/container
ports:
- "3000:3000"
@leopal的可能重复它的不同之处在于运行主机时指定
~/path/on/host
,而不是在docker compose文件中。我希望在运行主机时指定~/path/on/host
,而不是在docker compose文件中我不确定“运行主机时”是什么意思但我用一个来自主机上变量集的设置更新了解决方案。这对我不适用。目录总是空的。