在下面的docker-compose文件中,
dbc:
image: mysql:5.6
hostname: db
expose:
- "3386"
environment:
MYSQL_DATABASE: somebackenddb
MYSQL_USER: user1
MYSQL_PASSWORD: pswd
MYSQL_ROOT_PASSWORD: pswd
agent:
image: somedockerhub/ansible
volumes:
- ../../whatever/x.yml:/whatever/y.yml
links:
- dbc
environment:
PROBE_HOST: "db"
PROBE_PORT: "3306"
我们在
hostname
服务中使用dbc
属性。agent
服务链接到其值为hostname
的db
通常,主机名被赋予虚拟机。
每个容器都有一个IP地址,但是,
对于由
dbc
服务启动的容器,hostname
对容器意味着什么?
最佳答案
docker容器的By default主机名等于其容器ID。
在docker-compose文件中定义属性hostname: db
会将dbc
服务容器的主机名设置为db
。
如果使用docker exec -it [container_id] bash
输入创建的容器
并运行hostname
命令,您应该看到db
。
运行hostname -i
将显示虚拟IP地址。cat /etc/hosts
将显示:
...172.17.0.4 db
环保变量HOSTNAME内部容器将等于db
关于docker - docker-compose中的hostname属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58464250/