Bonjour,
Je tente d’installer Jeedom dans un conteneur Docker en utilisant l’image jeedom/jeedom:master.
Et j’ai un blocage à l’étape wget
voici le log que j’ai :
Start jeedom installation
--2019-10-25 05:52:09-- https://raw.githubusercontent.com/jeedom/core/master/install/install.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... failed: Temporary failure in name resolution.
wget: unable to resolve host address 'raw.githubusercontent.com'
La partie de code qui exécute cette commande dans init.sh
(dépôt Git jeedom/core
) est :
if [ -f /var/www/html/core/config/common.config.php ]; then
echo 'Jeedom is already install'
else
echo 'Start jeedom installation'
rm -rf /root/install.sh
wget https://raw.githubusercontent.com/jeedom/core/master/install/install.sh -O /root/install.sh
chmod +x /root/install.sh
/root/install.sh -s 6
fi
Le problème est que je souhaite créer un conteneur dans mon réseau de conteneurs où tous mes autres conteneurs tournent.
J’utilise ce réseau pour que chaque conteneur ait une IP propre dans mon VLAN et éviter les conflits de ports.
Voici la partie qui concerne Docker :
Ce réseau a été créé comme suit :
docker network create -d bridge \
--subnet=10.0.10.0/24 \
--ip-range=10.0.10.192/26 \
--gateway=10.0.10.160 \
--aux-address="DefaultGatewayIPv4=10.0.10.1" \
--opt com.docker.network.bridge.default_bridge=true \
--opt com.docker.network.bridge.enable_icc=true \
--opt com.docker.network.bridge.enable_ip_masquerade=true \
--opt com.docker.network.bridge.host_binding_ipv4="0.0.0.0" \
--opt com.docker.network.bridge.name="brvlan_10" \
--opt com.docker.network.driver.mtu=1500 \
docker_subntk_vlan10
Quand je crée le conteneur avec la commande suivante :
docker create --network docker_subntk_vlan10 --ip 10.0.10.201 \
--name jeedom-server \
-v /opt/jeedom/html:/var/www/html \
-e ROOT_PASSWORD=<root_password> \
-e MODE_HOST=0 \
--restart always jeedom/jeedom:master \
&& docker start jeedom-server && docker logs -f jeedom-server
J’obtiens le message d’erreur du début.
Lorsque je me connecte au conteneur avec docker exec -it jeedom-server /bin/bash
j’arrive bien à exécuter le wget
.
Lorsque je crée le conteneur avec la commande :
docker create --net host\
--name jeedom-server \
-v /opt/jeedom/html:/var/www/html \
-e ROOT_PASSWORD=<root_password> \
-e APACHE_PORT=9080 \
-e SSH_PORT=9022 \
-e MODE_HOST=1 \
--restart always \
jeedom/jeedom:master
Tout se passe bien.
Je n’arrive pas à trouver ce qui peut causer un problème de résolution de nom uniquement dans init.sh
en mode bridge, et pas en mode host.
Pour info tous mes autres conteneurs sur ce sous-réseau fonctionnent correctement niveau réseau, y compris le conteneur Jeedom avec docker exec
, il n’y a que l’execution de l’ENTRYPOINT
(init.sh
) qui échoue.