2017-10-04 16 views
0

hostname -f renvoie un espace vide lors de la compilation, mais renvoie le nom d'hôte correct une fois la génération terminée.Docker Compose - Nom d'hôte incorrect au cours de la construction

J'ai besoin de hostname -f pour retourner le nom d'hôte fourni, car je cours Puppet dans le conteneur.

Merci pour votre aide!

+0

Pourquoi avez-vous besoin du nom d'hôte de Puppet? –

Répondre

0

Ma suggestion est que pendant le processus de construction du conteneur ne fonctionne pas ... donc si le conteneur ne fonctionne pas, vous ne pouvez pas obtenir un nom d'hôte ...

+0

Cela a du sens ... une chance qu'un nom d'hôte puisse être forcé pendant la construction? – RadiantHex

+0

Que voulez-vous faire avec le nom d'hôte? Pour moi un nom d'hôte est une chose relativement relative et pas vraiment utile dans un tel environnement comme docker ... –

+0

Le config local sans maître config repose sur le nom d'hôte étant "dev-admin.local" – RadiantHex

0

En général, vous n'avez pas besoin config séparée pour les noms d'hôte dans docker ... docker communique par ses noms de service.

Si vous utilisez docker-Compose et supposons que la configuration suivante

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 

Parce que les images « nginx » et « serveur » « php » sont dans le même réseau, ils peuvent facilement communiquer entre eux en appelant le nom du service en tant qu'hôte ... Ainsi, vous pouvez par exemple vous connecter au conteneur "nginx" et "ping php" ... vous n'avez pas besoin de vous préoccuper des adresses IP ou des noms d'hôtes. Vous n'avez donc qu'à mettre à jour votre fichier de configuration où "dev-admin.local" est appelé et le remplacer par l'hôte désiré.