繁体   English   中英

docker-compose 为服务添加主机名

[英]docker-compose add a hostname to a service

我有一个正在运行的 backuppc 本地服务,例如 127.0.0.1:8081。 我也可以直接在http://172.23.0.4 (容器ip)上到达

docker-compose.yml

version: '3.7'
services:
  backuppc-app:
    image: tiredofit/backuppc
    container_name: backuppc-app
    ports:
      - "8081:80"
      - "8082:10050"
    environment:
      - BACKUPPC_UUID=1000
      - BACKUPPC_GUID=1000
    restart: always
    depends_on:
      - backuppc-mysql
    networks:
      - nginx-proxy

我想给它分配一个主机名,比如

    hostname: backup.local

我尝试添加它,但没有按预期工作

      backuppc-app:
        image: tiredofit/backuppc
        container_name: backuppc-app
        hostname: backup.local

我应该手动编辑我的本地 /ets/hosts 吗?

    172.23.0.4    backup.local

您可以添加主机名作为网络别名:

version: '3.7'
services:
  backuppc-app:
    networks:
      nginx-proxy:
        aliases:
        - backup.local

对于nginx-proxy网络中的容器,它可以作为backuppc-appbackup.local

如果您希望该主机名对您的主机可见,您需要修改主机文件。 但不要将容器 IP 放在那里 - 它可以改变。 而是将其添加为 localhost 的另一个名称:

127.0.0.1 localhost myhostname backup.local

然后,您可以使用localhost:8081backup.local:8081访问它(由于您使用ports: key 声明了端口转发,所以可以访问它)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM