【发布时间】:2019-12-29 16:36:08
【问题描述】:
这是我的 Docker 组合/堆栈文件。当我在单个节点上部署时,一切正常,但是当我在多个节点上部署时,出现以下错误:
类型绑定绑定源路径的无效挂载配置不存在
version: '3'
services:
shinyproxy:
build: /etc/shinyproxy
deploy:
replicas: 3
user: root:root
hostname: shinyproxy
image: shinyproxy-example
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- 5000:5000
networks:
- proxynetwork
mysql:
image: mysql
deploy:
replicas: 3
volumes:
- /mysqldata:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root_password
MYSQL_DATABASE: keycloak
MYSQL_USER: keycloak
MYSQL_PASSWORD: password
networks:
- proxynetwork
keycloak:
deploy:
replicas: 3
image: jboss/keycloak
volumes:
- /etc/letsencrypt/live/ds-gym.de/fullchain.pem:/etc/x509/https/tls.crt
- /etc/letsencrypt/live/ds-gym.de/privkey.pem:/etc/x509/https/tls.key
#- /theme/govuk-social-providers/:/opt/jboss/keycloak/themes/govuk-social-providers/
environment:
- PROXY_ADDRESS_FORWARDING=true
- KEYCLOAK_USER=myadmin
- KEYCLOAK_PASSWORD=mypassword
ports:
- 8443:8443
networks:
- proxynetwork
networks:
proxynetwork:
external: true
我知道每个其他节点也需要卷路径,但我认为这是一个非常糟糕的做法,我的其他 2 个节点无论如何都只是工作人员。我该如何解决这个问题?希望有一个解决方案可以让我保留这些卷,因为我为 docker-compose build 使用相同的文件来构建我的图像。
有人可以帮我吗?
谢谢你:-)
【问题讨论】:
-
在这种情况下依赖主机卷并不理想。我建议创建一个
Dockerfile并在构建期间复制证书和主题。然后只需将其添加到 yml。
标签: docker-compose docker-swarm docker-stack