命令记不住

登陆

容器间的互联 link

容器间的互联

1.容器间的互联(--link 是单方向的!!!)

  • docker run -d -p 80:80 nginx

  • docker run -it --link quirky_brown:web01 qstack/centos-ssh /bin/bash

    --link quirky_brown:web01 容器名称:别名

1.link初步使用

[root@docker01 dockerzabbix]# docker run --name kod -d centos6.9_ssh:v2
3a0d583e007e528526d0bb8cd3443be32542e9ab8fcd461015c15f6df439363c
// 创建一个准备连接的容器
[root@docker01 dockerzabbix]# docker ps
CONTAINER ID        IMAGE               COMMAND               CREATED             STATUS              PORTS               NAMES
3a0d583e007e        centos6.9_ssh:v2    "/usr/sbin/sshd -D"   3 seconds ago       Up 1 second                             kod

[root@docker01 dockerzabbix]# docker run -it --link kod:web centos:6.9
//创建新容器连接kod:web

[root@19637454b5ba /]# cat /etc/hosts
127.0.0.1	localhost
::1	localhost ip6-localhost ip6-loopback
fe00::0	ip6-localnet
ff00::0	ip6-mcastprefix
ff02::1	ip6-allnodes
ff02::2	ip6-allrouters
172.17.0.2	web 3a0d583e007e kod
172.17.0.3	19637454b5ba
//自动将被连接的容器写入hosts文件

2.link示例

部署zaabix

1.使用docker运行zabbix-server

上传docker镜像
[root@docker01 dockerzabbix]# ls
docker-mysql-5.7.tar.gz  zabbix-java-gateway.tar.gz  zabbix-server-mysql.tar.gz  zabbix-web-nginx-mysql.tar.gz

导入镜像
[root@docker01 dockerzabbix]# for n in `ls *.tar.gz`;do docker load -i $n ;done
9e63c5bce458: Loading layer [==================================================>]    131MB/131MB
Loaded image: mysql:5.7
3fc666989c1d: Loading layer [==================================================>]  5.046MB/5.046MB
Loaded image: zabbix/zabbix-java-gateway:latest
0b1a0b22d199: Loading layer [==================================================>]  97.05MB/97.05MB
Loaded image: zabbix/zabbix-server-mysql:latest
a5bcef0dd8d6: Loading layer [==================================================>]  140.7MB/140.7MB
Loaded image: zabbix/zabbix-web-nginx-mysql:latest

执行命令

docker run --name mysql-server -t \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="root_pwd" \
      -d mysql:5.7 \
      --character-set-server=utf8 --collation-server=utf8_bin

docker run --name zabbix-java-gateway -t \
      -d zabbix/zabbix-java-gateway:latest

docker run --name zabbix-server-mysql -t \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="root_pwd" \
      -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
      --link mysql-server:mysql \
      --link zabbix-java-gateway:zabbix-java-gateway \
      -p 10051:10051 \
      -d zabbix/zabbix-server-mysql:latest

docker run --name zabbix-web-nginx-mysql -t \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="root_pwd" \
      --link mysql-server:mysql \
      --link zabbix-server-mysql:zabbix-server \
      -p 80:80 \
      -d zabbix/zabbix-web-nginx-mysql:latest

web访问

[root@docker01 dockerzabbix]# docker ps
CONTAINER ID        IMAGE                                  COMMAND                  CREATED             STATUS              PORTS                               NAMES
5427d3c13ec3        zabbix/zabbix-web-nginx-mysql:latest   "/bin/bash /run_zabb…"   31 seconds ago      Up 28 seconds       0.0.0.0:80->80/tcp, 443/tcp         zabbix-web-nginx-mysql
9d2e70d94c82        zabbix/zabbix-server-mysql:latest      "/bin/bash /run_zabb…"   51 seconds ago      Up 46 seconds       162/udp, 0.0.0.0:10051->10051/tcp   zabbix-server-mysql
de68eb86d7de        zabbix/zabbix-java-gateway:latest      "/bin/bash /run_zabb…"   52 seconds ago      Up 50 seconds       10052/tcp                           zabbix-java-gateway
e132a496a6d2        mysql:5.7                              "docker-entrypoint.s…"   54 seconds ago      Up 51 seconds    

z


推荐阅读