Solution 1 :
Modifier /etc/hostname
est une chose pour laquelle vous avez besoin d'un accès ssh à l'intérieur du conteneur. Sinon, vous pouvez faire tourner le conteneur avec -h
option.
Pour définir les noms d'hôte et de domaine :
$ docker run -h foo.bar.baz -i -t ubuntu bash
[email protected]:/# hostname
foo
[email protected]:/# hostname -d
bar.baz
[email protected]:/# hostname -f
foo.bar.baz
Solution 2 :
Arrêter le conteneur et le service
sudo docker stop CONTAINER_NAME
sudo service docker stop
Modifier le fichier de configuration (JSON) [Vous devez d'abord faire une sauvegarde]
/var/lib/docker/containers/CONTAINER_ID/config.json
Remplacer
"Nom d'hôte":"QUELQUE CHOSE"
avec
"Nom d'hôte":"NEW_HOSTNAME"
Démarrer le conteneur et le service
sudo service docker start
sudo docker start CONTAINER_NAME
(En option, vous pouvez également joindre docker)
sudo docker attach CONTAINER_NAME
Les détails sur les dockers (c'est-à-dire CONTAINER_NAME, CONTAINER_ID) peuvent être obtenus en exécutant
sudo docker ps -a
Solution 3 :
Si vous utilisez --net=host
alors vous ne pouvez pas changer le nom d'hôte de -h
ou depuis l'intérieur du docker.
Voir https://github.com/docker/docker/issues/5708
Solution 4 :
Redémarrer le conteneur serait l'option la plus simple - mais vous pouvez également modifier /etc/hostname et partir de là.