如果微服务项目中需要链接数据库,那么在打包docker镜像后要将数据库的链接地址修改。
- 先启动一个mysql容器并映射端口
这里我将容器内部的3306端口映射为3002
- 修改微服务的url
将数据库链接地址设置为动态变量,默认为localhost。
- 编写Dockerfile
FROM java:8
ADD *.jar /blog.jar
EXPOSE 8081
ENTRYPOINT ["java","-jar","/blog.jar"]
- 构建docker镜像
docker build -t xxx:1.0 .
注意:maven打包时要跳过单元测试
- 启动我们构建的镜像
docker run -d \
--name myblog--restart always \ #开机启动
-p 8081:8081 \ #映射容器内部的端口
-e DB_HOST=172.17.0.1 \ #这个DB_HOST就是我们配置的数据库链接地址的动态参数
xxx:1.0
- 使用
docker logs -tf --tail 1000 容器Id
可查看容器运行日志
172.17.0.1这个IP是docker的ip,docker服务占用了一个单独的网卡,而每一个docker容器都会被docker分配一个ip,同时每一个docker容器的ip也将172.17.0.1作为网关。