自定义容器名
连接系统依据容器名称执行,所以首先需要自定义容器名称。
使用--name标记可以为容器自定义名称:
[root@centos7 ~]# docker run -d --name mysqldb -p3306:3306 -e MYSQL_ROOT_PASSWORD=fanshine mysql/mysql-server
使用docker ps 查看容器的命名:
也可以使用docker inspect来查看容器名称:
[root@centos7 ~]# docker inspect -f "{{ .Name }}" bf3bacf5c91d
注意:容器名称是唯一的,如果创建了mysqldb,需要在此创建需要将同名容器删除掉在去创建。
容器互联
容器互联大体有以下三种方式,使用link进行容器互联:
基于volume的互联
基于link的互联
基于网络的互联
使用--link参数让容器间进行交互:
首先创建数据库容器:
[root@centos7 ~]# docker run -d --name mysqldb -p3306:3306 -e MYSQL_ROOT_PASSWORD=fanshine mysql/mysql-server
然后创建web容器,并将其连接到db容器:
[root@centos7 ~]# docker run -d -p 80:80 --name nginxweb --link mysqldb:mysqldb nginx/nginx-server
此时web容器与db容器建立了互联关系。
注意:--link参数格式为--link name:alias,其中name是要链接的容器名称,alias是这个连接的名称。
Docker通过两种方式为容器公开连接信息:
环境变量
更新/etc/hosts文件
使用env命令查看web容器的环境变量:
[root@centos7 ~]# docker run --rm --name nginxweb3 --link mysqldb:mysqldb nginx/nginx-server env[object Object]
其中MYSQLDB_开头的环境变量是供web容器连接db容器使用。
登陆web容器ping通mysqldb: