J'ai un démon docker en cours d'exécution sur mon serveur Ubuntu 16.4
les détails de mon serveur:
Aucun module LSB n'est disponible. ID du distributeur: Ubuntu Description: Ubuntu 17.04 Version: 17.04 Nom de code: zesty
Je reçois l'erreur suivante:
aa@aaa-VirtualBox:/etc/default$ docker run hello-world
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io: no such Host.
See 'docker run --help'.
J'ai mis le http_proxy et le https_proxy beacuse je suis derrière un proxy/pare-feu corp
Des indices sur la façon de résoudre ce problème?
Vous devez définir le proxy pour le démon Docker en utilisant également la variable d'environnement. Docker run fait également un docker pull car l'image n'existe pas. Dans votre cas, le proxy n'est appliqué qu'à la commande docker run, qui délègue au démon docker qui s'exécute sans proxy.
Créez un fichier nommé /etc/systemd/system/docker.service.d/10_docker_proxy.conf
avec le contenu ci-dessous
[Service]
Environment=HTTP_PROXY=http://1.1.1.1:111
Environment=HTTPS_PROXY=http://1.1.1.1:111
Assurez-vous de mettre à jour le proxy selon celui que vous avez
1.1.1.1:111
n'est qu'un exemple
Exécutez ensuite les commandes ci-dessous pour redémarrer Docker
Sudo systemctl daemon-reload
Sudo systemctl restart docker
Utilisez maintenant votre commande docker run et cela devrait fonctionner
Choses que vous pouvez essayer:
docker-machine ssh default
Sudo vi /etc/resolv.conf
//change nameserver to 8.8.8.8
Redémarrez ensuite le serveur en utilisant
service docker restart
Remarque: Si vous n'avez pas de docker-machine installé, vous pouvez suivre les instructions ici pour l'installer. Il est livré avec Windows et Mac mais est disponible pour une installation manuelle sur Linux.
Modifier /etc/docker/daemon.json Ou "fournir une configuration JSON dans le panneau de préférences" avec les informations suivantes:
{ "dns" : [ "8.8.8.8", "8.8.4.4" ]}
Redémarrez ensuite le serveur en utilisant
service docker restart
Modifiez votre configuration de proxy comme l'a suggéré Tarun Lalwani.
Modifier /etc/default/docker
et ajouter:
export http_proxy='http://username:password@proxy-Host:proxy-port'
export https_proxy='https://username:password@proxy-Host:proxy-port'
Redémarrez ensuite le serveur en utilisant
service docker restart
Source: https://github.com/moby/moby/issues/32270#issuecomment-340709035
Créez un répertoire de dépôt systemd pour le service docker:
mkdir -p /etc/systemd/system/docker.service.d
# For HTTP Proxy:
vim /etc/systemd/system/docker.service.d/http-proxy.conf
# For HTTPS Proxy:
vim /etc/systemd/system/docker.service.d/https-proxy.conf
Ensuite, ajoutez le contenu ci-dessous avec les paramètres de proxy avec lui (passez à "HTTPS" pour https)
[Service]
Environment="HTTP_PROXY=http://<allowed_proxy_ipv4_address>:<proxy_port_num>/"
[Service]
Sudo systemctl daemon-reload
Sudo systemctl restart docker
systemctl show --property=Environment docker
Malheureusement, le dernier recours pourrait fonctionner. Consultez ces pages github pour plus de suggestions:
Pour moi, la configuration du proxy à l'aide de la méthode systemctl a été la seule chose qui a fonctionné.
Je résous l'erreur de changement de serveur DNS par 8.8.8.8 - Ubuntu 18.04.3 LTS
1- Ouvrez les paramètres du système Ubuntu et accédez au réseau
2- Cliquez sur le bouton de réglage à côté du nom du réseau dans la liste à laquelle vous êtes connecté.
3- Une nouvelle fenêtre s'ouvrira avec un grand nombre d'onglets, avec l'un d'eux avec l'étiquette "IPv4".
4- En ouvrant l'onglet "IPv4", vous trouverez un champ "DNS". Ici, vous pouvez écrire le serveur DNS
Si vous souhaitez utiliser plusieurs DNS, vous pouvez les saisir et les séparer par une virgule.