2017-10-04 48 views
0

hostname -f在生成過程中返回空白,但在生成完成後返回正確的主機名。Docker撰寫 - 生成過程中錯誤的主機名

我需要hostname -f返回提供的主機名,因爲我在容器中運行Puppet。

感謝您的幫助!

+0

爲什麼你需要Puppet的主機名? –

回答

0

我的建議是,期間製造過程中的容器沒有運行...因此,如果容器未運行,你不能讓一個主機名...

+0

有道理......任何機會的主機名可以被迫在建設時間? – RadiantHex

+0

你想用主機名做什麼?對我來說,主機名是一個相對靜態的東西,並沒有像Docker這樣的環境中真正有用...... –

+0

無主的本地開發Puppet配置依賴主機名爲「dev-admin.local」 – RadiantHex

0

通常你不需要docker中主機名的單獨配置... docker通過其服務名進行通信。

如果您使用的碼頭工人,撰寫並假設以下配置

version: "2" 
services: 
    nginx: 
    build: docker/nginx 
    ports: 
     - "80:80" 
    volumes: 
     - "${PROJECT_ROOT}:/app:ro" 
    depends_on: 
     - php 
    networks: 
     - server 
    php: 
    build: docker/php-fpm 
    expose: 
     - 9000 
    volumes: 
     - "${PROJECT_ROOT}:/app" 
    networks: 
     - server 

由於圖像「nginx的」和「PHP」在同一個網絡「服務器」,他們可以輕鬆地相互溝通,通過調用作爲主機的服務名稱... 因此,你可以例如連接到容器「nginx」和「ping php」...你不必關心ip或主機名。 所以你只需要更新你的配置文件「dev-admin.local」,並將其替換爲所需的主機。