docker compose中的主机名属性

docker compose中的主机名属性,docker,docker-compose,dockerfile,Docker,Docker Compose,Dockerfile,在下面的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

在下面的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"

我们正在
dbc
服务中使用
hostname
属性

agent
服务链接到值为
db

通常,主机名是给虚拟机的


每个容器都有一个IP地址,但是

对于由
dbc
服务启动的容器,
hostname
对容器意味着什么

docker容器的主机名等于其容器id

在docker compose文件中定义属性
hostname:db
,将
dbc
服务容器的主机名设置为
db

如果使用
docker exec-it[container\u id]bash输入创建的容器

然后运行命令
hostname
,您将看到
db

运行
hostname-i
将显示虚拟ip地址

cat/etc/hosts
将显示: ...
172.17.0.4分贝

环境。变量主机名内部容器将等于
db