Docker实现容器之间的网络通信

1.业务场景

我们有一个eureka,然后一个product和一个mysql。
这三个都是容器。
product注册到eureka,然后product还要连接mysql。

首先你的product最好能证明连接了数据库,例如写一个查询。
再就是保证在Windows都能运行正常,然后再制作成容器。

2.安装mysql

docker run -p 3306:3306 --name mysql \
	-e MYSQL_ROOT_PASSWORD=xxx \
	-d mysql:5.7

3.进入mysql容器查看ip信息

进入容器:docker exec -it mysql /bin/bash
如果docker镜像没有ifconfig、ping指令,执行下面的命令:
apt-get update
apt install net-tools # ifconfig
apt install iputils-ping # ping

4.创建eureka容器

我在之前的博客已经讲解了如果利用dockerfile制作一个容器。
所以这里我就直接启动。
制作容器:利用dockerfile制作eureka容器

启动:docker run -d -p 8761:8761 --name=eureka registry-agan/eureka-server:1.0.0

5.部署product镜像和容器

同样是利用dockerfile制作。
这是我的dockerfile:

#1.基础镜像:FROM指令:基础镜像名:tag,例如java:8
FROM java:8

#2.维护者:格式:MAINTAINER <name>
MAINTAINER agan

#3.镜像的操作指令
# ADD拷贝一个文件到容器中,格式:ADD <src> <dest>
ADD e-book-product-docker-core-0.0.1-SNAPSHOT.jar  /data/app.jar

#5.配置容器启动后,执行什么命令
ENTRYPOINT ["java","-jar","/data/app.jar"]

构建镜像: docker build -t registry-agan/product-server:1.0.0 .

创建容器:
docker run -d -p 8084:8084 --name product </font>
--link mysql:aganmysql </font>
–link eureka:aganeureka </font>
registry-agan/product-server:1.0.0

link就是容器直接的连接,你不用IP的情况下可以通过link来实现容器名之间的通信;它的语法是 link 容器名:别名

需要注意的是,在你的product中要将这里修改为mysql:
在这里插入图片描述
mysql密码也要修改。

6.查看效果

访问:http://192.168.23.139:8761/
在这里插入图片描述
访问:http://192.168.23.139:8084/product/findAllProduct
在这里插入图片描述
说明product连接和eureka和mysql都实现了网络通信。

感谢观看!
欢迎评论交流!

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值