背景
有两个容器一个运行的.net core的项目 另一个运行的mysql的数据 并且这两个容器在同一个机子上(或者局域网),那么理论上.net core的项目去访问mysql是可以走内网的
但是容器是互相隔离的,所以要互相访问那么就要利用docker的network方式去连接
1.创建bridge
docker network create -d bridge mybridge
查看bridge
docker inspect user_api01
2.确认数据库在运行,使用bridge去run .net core项目的镜像
docker run -d -p 8001:80 --net mybridge --name user_api01 -v=/netcore/appsettings_dir/UserAPI/appsettings.json:/app/appsettings.json shitong/user_api:pord
解释参数(不要复制这个 如有需要复制上面的)
docker run -d //后台运行 -p 8001:80 //映射物理端口 --net mybridge //指定bridge也就是第一步创建的mybridge --name user_api01 -v=/netcore/appsettings_dir/UserAPI/appsettings.json:/app/appsettings.json shitong/user_api:pord //-v是挂载目录 linux的路径:容器内部的路径
为了容灾 我使用了-v去挂载配置文件 如果你也要采用这种方式那么请在执行命令之前建好文件夹和appsettings.json文件(需要写好配置)
3.桥接互联
docker network connect mysql01
需要注意
appsettings.json中的Server的值需要和要链接的容器的name一致
原文地址:https://www.cnblogs.com/shitong/p/10180686.html
时间: 2024-11-08 06:42:40