我正在尝试配置Docker守护进程,以便我可以从我启动的Docker容器内部连接到它。
所以我更改了/etc/docker/daemon.json为
{
"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
}
所以我通过Docker桥接连接到它。但是,当我重新启动Docker时,我会收到以下错误信息:
netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address
State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 3728/mysqld
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 24253/redis-server
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3756/nginx
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3634/sshd
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 3756/nginx
tcp6 0 0 :::8010 :::* LISTEN 4230/apache2
tcp6 0 0 :::9200 :::* LISTEN 26824/java
tcp6 0 0 :::9300 :::* LISTEN 26824/java
tcp6 0 0 :::22 :::* LISTEN 3634/sshd
tcp6 0 0 :::2375 :::* LISTEN 1955/dockerd
起初,我认为问题在于它监听的是ipv6而不是ipv4。根据使用IPv4绑定端口的方法,它应该仍然可以工作,但事实并非如此。当我尝试时……
telnet 172.17.0.1(docker host) 2375
它在连接时失败了。
telnet 172.17.0.1(docker host) 80
如何连接到运行在主机上的 Docker?我使用的操作系统是 Ubuntu 14.04.5,Docker 版本为 17.06.2-ce。
ifconfig
eth0 链路类型: 以太网 硬件地址: 02:42:AC:11:00:02inet 地址:172.17.0.2 广播:0.0.0.0 掩码:255.255.0.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX 数据包:14 错误:0 丢弃:0 过载:0 帧数:0 TX 数据包:0 错误:0 丢弃:0 过载:0 载波:0 冲突:0 txqueuelen:0 RX 字节:1108 (1.0 KiB) TX 字节:0 (0.0 B) - darthShana