使用docker compose装载docker卷的问题 我的情景
我正在尝试使用使用docker compose装载docker卷的问题 我的情景,docker,docker-compose,docker-machine,Docker,Docker Compose,Docker Machine,我正在尝试使用docker compose.yml文件构建docker swarm version: '3' services: myapp-nginx: image: nginx:1.10 volumes: - ./nginx/certs:/etc/nginx/certs ports: - 80:80 - 443:443 使用build命令如下 $ docker stack deploy --compose-file docke
docker compose.yml
文件构建docker swarm
version: '3'
services:
myapp-nginx:
image: nginx:1.10
volumes:
- ./nginx/certs:/etc/nginx/certs
ports:
- 80:80
- 443:443
使用build命令如下
$ docker stack deploy --compose-file docker-compose.yml myapp
Creating network myapp_default
Creating service myapp_myapp-nginx
我的系统有Docker版本17.03.1-ce-mac5(16048)
问题
卷装载不起作用,如果我注释掉Volumes:-./nginx/certs:/etc/nginx/certs
,则一切正常
否则nginx根本不起作用,我明白了
CAGTAM1059934:docker iskumar$ docker stack ps myapp
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
efjia8b7y6jd myapp_myapp-nginx.1 nginx:1.10 manager1 Ready Rejected 5 seconds ago "invalid mount config for type…"
c9c6ogh11osi \_ myapp_myapp-nginx.1 nginx:1.10 worker2 Shutdown Rejected 10 seconds ago "invalid mount config for type…"
iveikxpnbq6x \_ myapp_myapp-nginx.1 nginx:1.10 worker1 Shutdown Rejected 15 seconds ago "invalid mount config for type…"
在docker compose v3中是否有任何特殊的装载卷的方法?装载卷时必须使用绝对路径,也可以使用docker run
$ docker run --rm -it -v ./eos:/eos:ro ubuntu
docker: Error response from daemon: create ./eos: "./eos" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intented to pass a host directory, use absolute path.
See 'docker run --help'
我在macbook上运行了
docker stack deploy
,而不是在boot2docker虚拟机上运行。这就是为什么系统找不到这些网络挂载源,即使我使用eval$(docker machine env manager1)激活了manager1
首先,我使用--no trunc参数来查看完整的错误消息
$> docker node ps --no-trunc
---
Showed "invalid mount config for type "bind": bind source path does not exist"
---
之后,将文件从主机系统(我的MacBook)复制到VM,启动堆栈工作正常
绝对路径仍然不起作用,例如
/Applications/XAMPP/xamppfiles/htdocs/myapp/docker/nginx/certs:/etc/nginx/certs:ro
我得到类型的装载配置无效错误,尽管使用docker compose-d在macbook本机docker安装上同样的脚本可以正常工作。但在使用命令eval$(docker machine env Manager 1)
切换到docker集群并使用docker stack deploy部署后,我遇到了问题。这是完整的消息错误吗?通过挖掘Docker代码,有多个可能性。我使用Docker stack ps myapp
查看日志,这导致错误:“类型的装载配置无效…”
是否有其他命令查看详细日志?我需要“…”