
容器间的互联
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:latestweb访问
[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
