run daemon
sudo docker run -itd --name=client_setup ubuntu /bin/bash
it 同容器进行数据交互 d 后台
attach
sudo docker attach client_setup
detach
To detach the tty without exiting the shell, use the escape sequence Ctrl+p+Ctrl+q
配置两个镜像用于测试
docker下载一个ubuntu镜像
客户端机 client
- sudo docker run -itd --name=client_setup ubuntu /bin/bash
- sudo docker attach client_setup
- apt-get install curl
- sudo docker stop client_setup
- sudo docker commit client_setup client_img
以上步骤为安装带有curl命令的ubuntu镜像
服务端机 server
- sudo docker run -itd --name=server_setup ubuntu /bin/bash
- sudo docker attach server_setup
- apt-get install apache2
- sudo docker stop server_setup
- sudo docker commit server_setup server_img
以上步骤为安装带有apache2的ubuntu镜像
桥接
宿主机IP
- ifconfig docker0
- 查看ip: 172.18.0.1
启动server,并暴露80端口
- sudo docker run -itd --expose=80 --name=server1 server_img /bin/bash
- 启动 apache2
- 查看 ip 172.18.0.2
启动client , 测试连通性
- sudo docker run -itd --name=client1 client_img /bin/bash
- sudo docker attach client1
- curl 172.18.0.2
端口绑定
将本地8080绑定到容器80
- sudo docker run -itd -p 8080:80 --name=server2 server_img /bin/bash
- sudo docker attach server2
任何在你主机网络内的那些机器都可以访问由你的宿主机所发布出来的8080端口
容器链接
- sudo docker run -itd --name=server3 server_img /bin/bash
- sudo docker run -itd --link server3 --name=client3 client_img /bin/bash
- sudo docker attach client3
- env | grep SERVER3
- curl server3
总结
通过端口公开(port exposure)连接
将宿主机端口绑定(bind)至容器端口
通过链接(link)选项去连接两个容器
refer: connecting-docker-containers