我想知道如何使用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-app:
build:
context: .
dockerfile: ./path/to/Dockerfile
答案 0 :(得分:0)
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"