这是我的 docker-compose.yml
文件:
version: '2'
services:
app:
image: pedramrn/webapp:0.1.4
expose:
- 8080
networks:
- main
working_dir: /src
restart: never
depends_on:
- db-postgresql
links:
- db-postgresql
lb:
image: dockercloud/haproxy:1.5
depends_on:
- app
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- 80:80
networks:
- main
environment:
- ADDITIONAL_SERVICES=springbootdockertemplate:app
db-postgresql:
image: postgres:9.5
ports:
- "5432:5432"
volumes:
- data-postgresql:/var/lib/postgresql/data
networks:
- main
restart: unless-stopped
environment:
- POSTGRES_USER=user
- POSTGRES_PASSWORD=pass
- POSTGRES_DB=postgres
volumes:
data-postgresql:
networks:
main:
这是数据源 url: jdbc:postgresql://db-postgresql:5432/postgres
如果我删除了 links: db-postgresql
spring引导无法连接到postgres数据库,虽然它在单个节点上没有 links
但在不同节点上的每个容器都没有 .
在docker documentation上,使用新的多主机网络功能,容器可以使用其名称进行解析 .
注意:我已根据文档设置了带 Consul 的密钥库 .
Client:
Version: 1.11.1
API version: 1.23
Go version: go1.5.4
Git commit: 5604cbe
Built: Tue Apr 26 23:44:17 2016
OS/Arch: windows/amd64
Server:
Version: swarm/1.2.3
API version: 1.22
Go version: go1.5.4
Git commit: eaa53c7
Built: Fri May 27 17:25:03 UTC 2016
OS/Arch: linux/amd64
Dev system: Windows 8.1 X64