簡體   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