【发布时间】:2018-01-25 23:11:34
【问题描述】:
我有一个我们称之为 mariadb 的数据库 docker,我还有一个使用 golang 的 web docker。我要做的是使用compose连接两个docker,但是在我的golang代码中,我必须提前知道数据库docker的ip地址。
Golang main.go:
db, err := sql.Open("mysql",
"root:passsword@tcp(<should_be_database_docker_ip>:3306)/database")
Docker-compose.yml
version: '3'
services:
web:
image: web_docker
ports:
- "8080"
depends_on:
- database
database:
image: mariadb
ports:
- "3306"
environment:
- MYSQL_ROOT_PASSWORD=password
volumes:
- /data:/var/lib/mysql
再次澄清一下,我不能简单地将主机设置为 localhost,因为我使用的数据库位于 docker 中,通常类似于 172.17.0.2 或 .3,但有时会发生变化。谢谢!
【问题讨论】:
标签: mysql docker go docker-compose