版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/boonya/article/details/83271562
宿主机器不能直接ping容器IP,容器本身内部如果设置的127.0.0.1亦指其容器本身,如果容器需要访问宿主,此时不能简单的使用127.0.0.1而应该使用宿主的内网IP地址或公网地址。
构建和运行服务和数据库容器
通过Dockerfile构建:
docker build -t rtvsweb:publish -f RTVSWeb/Dockerfile .
docker run -it --privileged=true --link mysql5.7:mysql5.7 -v D:\DockerWorkspace\rtvsweb:/MyData -e MyDataPath=/MyData -p 38067:80 -p 44383:443 -p 18000:18000 -p 18002:18002 -p 19700:19700 -p 19702:19702 -p 19703:19703 rtvsweb:publish
我本地运行的效果如下:
添加容器与主机的路由规则
172.17.0.1是默认的容器网关。
测试应用容器访问数据库容器
注意:mysql数据库表的大小写,忽略这个问题可能会导致数据库访问异常。
使用容器访问MySQL配置如下:
本地IP地址172.16.9.299
扫描二维码关注公众号,回复:
3991813 查看本文章
link容器之间连接访问
配置数据库访问源地址为--link 配置的名称:
重启容器:
注:容器之间访问都可以通过宿主来操作,IP端口port映射即可。