docker 共享网络的方式实现容器互联

docker 共享网络的方式实现容器互联

++本文以nacos连接mysql为例++

前提已经在mysql容器中初始化好nacos数据库,库名nacos

创建一个共享网络

shell 复制代码
docker network create --driver bridge \
--subnt 192.168.0.0/24 \
--gateway 192.168.0.1 mynet

此处可以不指定网络模式、ip和网关,可以使用(docker network inspect 网络名称)查看ip

启动mysql容器

shell 复制代码
docker run -d \
--restart=always \ 
-m 256m \
--name mysql \ 
--net mynet \
-p 3307:3306 \ 
-e MYSQL_ROOT_PASSWORD=123456 \ 
mysql

查看该网络中的容器情况

bash 复制代码
docker network inspect mynet

启动nacos容器,并连接mynet网络

我的nacos镜像是M芯片的,自行更换

把nacos的ip(环境变量MYSQL_SERVICE_HOST)换成mysql的容器名称或者在共享网络中的ip即可

bash 复制代码
docker run -d \
--net mynet \
-e MODE=standalone \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e JVM_XMN=256m \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=mysql  \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_DB_PARAM='characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true' \
--restart=always \
--privileged=true \
--name nacos \
nacos/nacos-server:v2.1.1-slim

再次查看共享网络详情

相关推荐
cozil32 分钟前
记录磊科B39路由器跨域组网遇到的问题
网络·智能路由器·跨域组网
维诺菌33 分钟前
k8s java应用pod内存占用过高问题排查
java·jvm·云原生·容器·性能优化·kubernetes
路由侠内网穿透1 小时前
本地部署开源数据分析平台 Elastic Stack 并实现外部访问( Windows 版本)
运维·服务器·网络·windows·开源·jenkins
浪飘1 小时前
k8s device plugin
java·docker·kubernetes
冬夜戏雪1 小时前
milvus容器restart不成功,但docker仍在running问题排查
docker·容器·milvus
m0_579146651 小时前
docker desktop的容器间通信
docker·容器·php
helloworddm1 小时前
Orleans 与 Kubernetes 结合的价值分析
云原生·容器·kubernetes
FreeBuf_1 小时前
AWS服务大规模中断,基础设施故障影响全球企业
网络·数据库·aws
王道长服务器 | 亚马逊云2 小时前
AWS CloudFormation —— 自动化部署的“云中脚本大师”
运维·服务器·网络·自动化·云计算·aws
KubeSphere 云原生2 小时前
云原生周刊:Helm 十年,成就 Kubernetes 的生态中枢
云原生·容器·kubernetes