网站首页 文章专栏 实验室proxy环境下使用--net解决docker联网问题
ubuntu 16.04 amd64
Docker version 17.03.2-ce, build f5ec1e2
host没有直连网络,通过proxy与互联网交互
在docker pull ubuntu:16.04
之后运行
docker run -it ubuntu:16.04
发现
ping, wget, ifconfig均没有安装
apt update
卡住,如下图:
首先,在运行docker时加上--host
参数,即运行
docker run -it --net=host ubuntu:16.04
然后,在docker内容使用和主机相同的代理
sh
export http_proxy="http-proxy-address:port"
使用–net:host选项
sh
sudo docker run --net:host --name ubuntu_bash -i -t ubuntu:latest /bin/bash
使用–dns选项
sh
sudo docker run --dns 8.8.8.8 --dns 8.8.4.4 --name ubuntu_bash -i -t ubuntu:latest /bin/bash
改dns server
sh
vi /etc/default/docker
#去掉“docker_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"”前的#号
不用dnsmasq
sh
vi /etc/NetworkManager/NetworkManager.conf
#在dns=dnsmasq前加个#号注释掉
sudo restart network-manager
sudo restart docker
重建docker0网络
sh
pkill docker
iptables -t nat -F
ifconfig docker0 down
brctl delbr docker0
docker -d