Lorsque le réseau externe n'est pas directement accessible, en plus des paramètres de proxy globaux de l'hôte, des proxys distincts doivent être définis pour le client Docker et l'instance.
Si vous rencontrez l'erreur suivante lors de l'exécution de Docker Run
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp 3.216.34.172:443: i/o timeout.
See 'docker run --help'.
Vous pouvez modifier l'entrepôt Docker et la configuration du proxy
Modifier le référentiel Docker
/etc/docker/daemon.json
# vi /etc/docker/daemon.json
# cat daemon.json
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
Modifier la configuration du proxy du client Docker
/etc/systemd/system/docker.service.d/proxy.conf
# vi /etc/systemd/system/docker.service.d/proxy.conf
# cat proxy.conf
[Service]
Environment="HTTP_PROXY=http://IP:Port/"
Environment="HTTPS_PROXY=http://IP:Port/"
Environment="NO_PROXY=https://registry-1.docker.io/v2/"
Modifier la configuration du proxy de l'instance Docker
~/.docker/config.json
[xxx]# cat ~/.docker/config.json
{
"proxies":
{
"default":
{
"httpProxy": "http://IP:Port/",
"httpsProxy": "http://IP:Port/",
"noProxy": "127.0.0.0/8"
}
}
}
Ou ajoutez des paramètres de variable d'environnement lors du démarrage de Docker
--env HTTP_PROXY="http://IP:Port"
--env HTTPS_PROXY="https://IP:Port"
--env FTP_PROXY="ftp://IP:Port"
--env NO_PROXY="127.0.0.0/8"