美文网首页
【DOCKER】WIN10发布SPRINGBOOT项目(三)

【DOCKER】WIN10发布SPRINGBOOT项目(三)

作者: 地主家有30头牛 | 来源:发表于2021-11-14 18:12 被阅读0次

使用DOCKER NETWORK连接容器

原本想使用--link来连接springboot容器和mysql容器,但是配置以后一直不成功,查了一下link已经被弃用(不知道是不是不成功的原因),推荐使用network。

1。新建一个net work

docker network create dockernet
#dockernet是你的命名

2。改造springboot项目,增加一个对数据库(mysql+mybatis)的检索操作。(具体的不展开了,只记录说明主题相关的部分)

➤HelloController.java
添加以下方法,如果检索成功,会返回一个品牌名字。

@RequestMapping(value="/brand")
    public String brand() {
        Long id = 1L;
        PmsBrand brand = pmsBrandService.getBrand(id);
        return brand.getName();
    }

先在本地测试,确认以上方法可以正确检索出内容。

➤application.properties
为了实现docker上的,容器间的通信,要把项目配置文件里,数据库的URL配置做一点小修改.
修改前:localhost
修改后:mysql(这是我之后要加入到docker network的mysql容器的名字,可以理解成域名,即使容器重启IP,只要这个名字不变仍然可以连接)

修改前:
spring.datasource.url=jdbc:mysql://localhost:3306/mall_tiny?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai

修改后:
spring.datasource.url=jdbc:mysql://mysql:3306/mall_tiny?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai

3。重新打包docker-test,启动的同时加入到dockernet里。
(打包等步骤参考:https://www.jianshu.com/p/e37b9aaade83
在命令里加上 参数:--network docker网络名 --network-alias 容器域名

docker run  -d --name docker-test --network dockernet --network-alias docker-test -p 9999:9110 -t springboot/docker-test

4。重新发布mysql容器,并加入到dockernet里。

docker run  -d --name mysql --network dockernet --network-alias mysql  -p 3306:3306 -t mysql5.7

5。查看dockernet网络信息
命令:docker network inspect docker网络名
可以看到docker-test和mysql两个容器已经加入dockernet网络

C:\WINDOWS\system32>docker network inspect dockernet
[
    {
        "Name": "dockernet",
        "Id": "8de96a4aac582d175a9a996b188678712157bd80b91582f24fa8f8321f9e41f2",
        "Created": "2021-11-15T16:15:48.3827776+08:00",
        "Scope": "local",
        "Driver": "nat",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "windows",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.28.48.0/20",
                    "Gateway": "172.28.48.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "2cbc32edc214dcccbe0f23717ff5345f7f4aea19246646c47b7dcfc43a9e4e7b": {
                "Name": "docker-test",
                "EndpointID": "1d6e713937f4b8c865162375bc58c505431156b6e8b8e8453e300729c1acf30c",
                "MacAddress": "00:15:5d:13:c0:b2",
                "IPv4Address": "172.28.48.68/16",
                "IPv6Address": ""
            },
            "44311d441a1d8f72e14d8f123937b6c341563219897143adbc1c933b48cd5a1f": {
                "Name": "mysql",
                "EndpointID": "b8a43c428b22124bff6d28cea67a341dda783ccca0d727b59da4254bbe657bad",
                "MacAddress": "00:15:5d:13:ce:65",
                "IPv4Address": "172.28.61.68/16",
                "IPv6Address": ""
            }
        },
        "Options": {
            "com.docker.network.windowsshim.hnsid": "325F4C4B-EB9A-43DF-879C-D7E7888DD462"
        },
        "Labels": {}
    }
]

C:\WINDOWS\system32>

6。见证奇迹的时刻到了,使用docker端口访问docker-test,成功。


图片.png

相关文章

网友评论

      本文标题:【DOCKER】WIN10发布SPRINGBOOT项目(三)

      本文链接:https://www.haomeiwen.com/subject/hfpqtrtx.html