Docker互联

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

  1. 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

  1. 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

  1. ifconfig docker0
  • 查看ip: 172.18.0.1

启动server,并暴露80端口

  1. sudo docker run -itd --expose=80 --name=server1 server_img /bin/bash
  • 启动 apache2
  • 查看 ip 172.18.0.2

启动client , 测试连通性

  1. sudo docker run -itd --name=client1 client_img /bin/bash
  • sudo docker attach client1
  • curl 172.18.0.2

端口绑定

将本地8080绑定到容器80

  1. sudo docker run -itd -p 8080:80 --name=server2 server_img /bin/bash
  • sudo docker attach server2
    任何在你主机网络内的那些机器都可以访问由你的宿主机所发布出来的8080端口

容器链接

  1. 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

你可能感兴趣的:(Docker互联)