–link可以通过容器名互相通信,容器间共享环境变量。
–link主要用来解决两个容器通过ip地址连接时容器ip地址会变的问题.
容器互联
先创建启动mysql容器
docker run -dti --name db --restart=always -e MYSQL_ROOT_PASSWORD=redhat -e MYSQL_DATABASE=blog mysql:5.6
创建启动源容器wordpress
# docker run -dti --name 容器名 --restart=always -v 本地目录:容器内目录 -p 本地端口:容器端口 --link 数据库容器名:数据库容器别名 wordpress镜像
docker run -dti --name blog --restart=always -v /web:/var/www/html -p 80:80 --link db:mysql wordpress
当使用–link参数时,docker会自动在共享两个容器的变量。访问数据库的时候,不再是通过IP的方式来访问,而是通过容器名来访问.
在容器中执行: env | grep -i hub_name
,会显示容器的的环境变量
实验:tomcat连接mysql
接下来在tomcat容器的webapps中配置msyql连接,数据源输入mysql的容器名即可。
–link 参数可以把两个容器连接为一组容器,一般用于连接mysql,而不用映射mysql的端口到宿主机
例如,tomcat和mysql建立link之后,在tomcat里可以直接ping通mysql的容器名.
在tomcat配置MySQL连接的文件中不需要再写入localhost或者ip地址,直接写入mysql容器名即可连接到mysql数据库
创建启动mysql容器
docker run -dti --name mysql --restart=always -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
创建启动tomcat容器 --link连接mysql容器
docker run -dti --name tomcat --restart=always -p 8080:8080 --link mysql -v /webapps:/usr/local/tomcat/webapps tomcat
接下来在tomcat容器的webapps中配置msyql连接,数据源输入mysql的容器名即可。
tomcat和mysql建立link之后,在tomcat里可以直接ping通mysql的容器名.
在tomcat配置MySQL连接的文件中不需要再写入localhost或者ip地址,直接写入mysql容器名即可连接到mysql数据库.
到此这篇关于docker --link容器互联的实现的文章就介绍到这了,更多相关docker --link容器互联内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!