部署本地开发环境——Docker容器 + 虚拟机端口转发

前情提要:

现在团队要开启一个新项目,这是第一次跟大项目,很多基础内容都搞不懂,特地在这记录下来,学过一次了就要牢记在心。

定位问题:

1、已有搭建起基本框架的项目代码

2、项目需要用到这些服务

  • consul
  • zipkin
  • postgres
  • redis

3、已有docker-compose.yml配置文件

本地跑项目代码,需要使用到这些服务,而让这些服务不在本地启动,而是在虚拟机上启动跑。

这样可以简化开发场景,因为虚拟机上可以一直跑着,而本地跑只要关机就会停止,还要重启很麻烦。

着手解决:

一、准备工作:在虚拟机的linux系统上放置docker-compose配置文件

创建docker-compose文件夹

部署本地开发环境——Docker容器 + 虚拟机端口转发

部署本地开发环境——Docker容器 + 虚拟机端口转发

各自文件夹中放置各自的docker-compose.yml,这里以consul为例

部署本地开发环境——Docker容器 + 虚拟机端口转发

二、Docker拉取镜像

1、对于每个服务,对应Docker镜像的名字在 Docker Hub 官方网站上可以查到。

Docker Hub 官方网站 :https://hub.docker.com/

以zipkin为例,官方容器名称为 openzipkin/zipkin

其他几个服务,都是原名。zipkin是个特例。

部署本地开发环境——Docker容器 + 虚拟机端口转发

部署本地开发环境——Docker容器 + 虚拟机端口转发

部署本地开发环境——Docker容器 + 虚拟机端口转发

部署本地开发环境——Docker容器 + 虚拟机端口转发

2、拉取zipkin容器镜像,Linux命令如下:

内网:
(xxxxxxx.xxx.xx为公司内部镜像仓库的名称,这里手动打码处理)
docker image pull xxxxxxx.xxx.xx:8000/zipkin:2
docker image pull xxxxxxx.xxx.xx:8000/zipkin:latest

公网:
docker image pull openzipkin/zipkin:2
docker image pull openzipkin/zipkin:latest

3、拉取镜像可能出现的问题

解决方案1:如果内网pull不下来,就从公网pull(从 内网wifi 换 手机4G热点)

解决方案2:如果对应版本pull不下来,就pull最近latest版本

三、执行yml配置文件,跑服务

1、跑Docker容器的命令:

docker-compose -f docker-compose.yml up -d

-d:后台运行容器,不在命令行输出日志

2、查看运行的容器

docker ps : 列出所有在运行的容器信息

四、设置端口转发

参考文章:

https://www.jianshu.com/p/573cf2ea4da9 “为virtualbox配置端口映射”

端口转发规则如下:

部署本地开发环境——Docker容器 + 虚拟机端口转发

五、测试是否可以访问虚拟机接口和服务

打开虚拟机

本机浏览器访问8500端口,看到consul服务的UI界面,表示通过接口转发成功访问了虚拟机上的consul服务。

http://localhost:8500

六、运行程序,可以正常运行。

上一篇:SpringCloud(8) ------>Sleuth链路跟踪


下一篇:⑦SpringCloud 实战:引入Sleuth组件,完善服务链路跟踪