docker(三)

容器间的互连

  • 启动一个容器
$ docker run -d nginx:latest
$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
2ac062d90d92        nginx:latest        "nginx -g 'daemon of…"   4 seconds ago       Up 3 seconds        80/tcp              ecstatic_ellis


  • 在启动一个容器并进入容器内, 通过--link连接上一个容器, 可以查看到--link参数可以在容器内多添加一条本地反向dns解析的字符串
$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
3a80e6d74207        nginx               "nginx -g 'daemon of…"   7 hours ago         Up 7 hours          80/tcp              epic_pasteur
$ docker run -it --link epic_pasteur:web01 centos:6.9

$ curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

$ grep '172.17.0.2' /etc/hosts
172.17.0.2  web01 2ac062d90d92 ecstatic_ellis

$ mount |grep '/dev/mapper/centos-root'
/dev/mapper/centos-root on /etc/resolv.conf type xfs (rw,seclabel,relatime,attr2,inode64,noquota)
/dev/mapper/centos-root on /etc/hostname type xfs (rw,seclabel,relatime,attr2,inode64,noquota)
/dev/mapper/centos-root on /etc/hosts type xfs (rw,seclabel,relatime,attr2,inode64,noquota)


  • 在容器外查看容器的IP地址
$ docker inspect ecstatic_ellis |grep -w "IPAddress"|cut -d ':' -f 2 |uniq|cut -d ',' -f 1
 "172.17.0.2"
$ curl 172.17.0.2


使用docker运行zabbix-server


  • 启动一个空的Mysql服务器实例
$ docker run --name mysql-server -t \
>       -e MYSQL_DATABASE="zabbix" \
>       -e MYSQL_USER="zabbix" \
>       -e MYSQL_PASSWORD="zabbix" \
>       -e MYSQL_ROOT_PASSWORD="zabbix" \
>       -d mysql:5.7  \
> --character-set-server=utf8 --collation-server=utf8_bin


  • 启动Zabbix server实例,并关联这个实例到已创建的MySQL服务器实例
$ 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" \
      -e MYSQL_ROOT_PASSWORD="zabbix" \
      --link mysql-server:mysql \
      -p 10051:10051 \
      -d zabbix/zabbix-server-mysql:latest


  • 启动Zabbix web 接口,并将它与MySQL服务器实例和Zabbix server实例关联
$ 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" \
      -e MYSQL_ROOT_PASSWORD="zabbix" \
      --link mysql-server:mysql \
      --link zabbix-server-mysql:zabbix-server \
      -p 8080:80 \
      -d zabbix/zabbix-web-nginx-mysql:latest


  • 查看容器的情况
$ docker ps
CONTAINER ID        IMAGE                                  COMMAND                  CREATED             STATUS              PORTS                           NAMES
58d3e7ec80bd        zabbix/zabbix-web-nginx-mysql:latest   "docker-entrypoint.sh"   3 minutes ago       Up 3 minutes        443/tcp, 0.0.0.0:8080->80/tcp   zabbix-web-nginx-mysql
99faf69bd73c        zabbix/zabbix-server-mysql:latest      "/sbin/tini -- /usr/…"   9 minutes ago       Up 9 minutes        0.0.0.0:10051->10051/tcp        zabbix-server-mysql
5debea7aa666        mysql:5.7                              "docker-entrypoint.s…"   13 minutes ago      Up 13 minutes       3306/tcp, 33060/tcp             mysql-server
2ac062d90d92        nginx:latest                           "nginx -g 'daemon of…"   About an hour ago   Up About an hour    80/tcp                          ecstatic_ellis


  • 查看镜像
$ docker images
REPOSITORY                      TAG                 IMAGE ID            CREATED             SIZE
zabbix/zabbix-web-nginx-mysql   latest              9102571b2fef        3 days ago          155MB
zabbix/zabbix-server-mysql      latest              6da679c2a6c6        3 days ago          65.8MB
mysql                           5.7                 1e4405fe1ea9        8 days ago          437MB
nginx                           latest              231d40e811cd        8 days ago          126MB
centos                          6.9                 2199b8eb8390        8 months ago        195MB



docker registry


猜你喜欢

转载自www.cnblogs.com/cjwnb/p/11968601.html