我如何在 docker-compose.yml 中模拟此 "docker run" 命令?
How do I emulate this "docker run" command in a docker-compose.yml?
docker 运行 命令
我正在使用以下命令启动 Docker 容器。
docker run -it --rm -d -p 8080:80 \
-v ~/dev/react-using-camera/.nginx-conf-for-container/conf.d:/etc/nginx/conf.d \
-v ~/dev/nginx-test-area:/usr/share/nginx/html/ \
--name web \
nginx:stable-alpine
命令运行良好:
- 容器启动;
- nginx 响应请求并且
- nginx 使用的配置和网页是存在于“-v”参数定义的主机目录中的那些。
使用'docker-compose up'
我想用docker-compose up
达到同样的效果所以我写了下面的docker-compose.yml
version: "3.7"
services:
ingress:
image: nginx:stable-alpine
container_name: docker-compose-test-0
networks:
- gateway
ports:
- '8080:80'
restart: unless-stopped
volumes:
- /home/glaucon/dev/react-using-camera/.nginx-conf-for-container/conf.d:/etc/nginx/conf.d
- /home/glaucon/dev/nginx-test-area:/usr/share/nginx/html/ \
networks:
gateway: {}
当我将该文件与 docker-compose up
一起使用时:
- 容器启动
- nginx 响应请求但是
- 提供的网络内容 不是 存在于主机
/home/glaucon/dev/nginx-test-area
中,而是提供 nginx 默认值 index.html
。
问题
如何在 docker-compose up
的上下文中模拟 docker run
命令中“-v”参数的使用?
第二个 volume
定义有一个尾部反斜杠:
services:
ingress:
...
volumes:
...
- /home/glaucon/dev/nginx-test-area:/usr/share/nginx/html/ \
如果我们删除结尾的反斜杠:
services:
ingress:
...
volumes:
...
- /home/glaucon/dev/nginx-test-area:/usr/share/nginx/html/
它应该按预期工作。
docker 运行 命令
我正在使用以下命令启动 Docker 容器。
docker run -it --rm -d -p 8080:80 \
-v ~/dev/react-using-camera/.nginx-conf-for-container/conf.d:/etc/nginx/conf.d \
-v ~/dev/nginx-test-area:/usr/share/nginx/html/ \
--name web \
nginx:stable-alpine
命令运行良好:
- 容器启动;
- nginx 响应请求并且
- nginx 使用的配置和网页是存在于“-v”参数定义的主机目录中的那些。
使用'docker-compose up'
我想用docker-compose up
达到同样的效果所以我写了下面的docker-compose.yml
version: "3.7"
services:
ingress:
image: nginx:stable-alpine
container_name: docker-compose-test-0
networks:
- gateway
ports:
- '8080:80'
restart: unless-stopped
volumes:
- /home/glaucon/dev/react-using-camera/.nginx-conf-for-container/conf.d:/etc/nginx/conf.d
- /home/glaucon/dev/nginx-test-area:/usr/share/nginx/html/ \
networks:
gateway: {}
当我将该文件与 docker-compose up
一起使用时:
- 容器启动
- nginx 响应请求但是
- 提供的网络内容 不是 存在于主机
/home/glaucon/dev/nginx-test-area
中,而是提供 nginx 默认值index.html
。
问题
如何在 docker-compose up
的上下文中模拟 docker run
命令中“-v”参数的使用?
第二个 volume
定义有一个尾部反斜杠:
services:
ingress:
...
volumes:
...
- /home/glaucon/dev/nginx-test-area:/usr/share/nginx/html/ \
如果我们删除结尾的反斜杠:
services:
ingress:
...
volumes:
...
- /home/glaucon/dev/nginx-test-area:/usr/share/nginx/html/
它应该按预期工作。