–link可以通过容器名互相通信,容器间共享环境变量。
–link主要用来解决两个容器通过ip地址连接时容器ip地址
会变的问题.
docker run -dti --name db --restart=always -e MYSQL_ROOT_PASSWORD=redhat -e MYSQL_DATABASE=blog mysql:5.6
# 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容器的webapps中配置msyql连接,数据源输入mysql的容器名即可。
–link 参数可以把两个容器连接为一组容器,一般用于连接mysql,而不用映射mysql的端口到宿主机
例如,tomcat和mysql建立link之后,在tomcat里可以直接ping通mysql的容器名.
在tomcat配置MySQL连接的文件中不需要再写入localhost或者ip地址,直接写入mysql容器名即可连接到mysql数据库
docker run -dti --name mysql --restart=always -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
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数据库.