IDEA 上提供了 Docker integration 插件,可以很方便的管理镜像和容器,当然这些操作通过命令行也能完成,使用 IDEA 插件方式的另一个便利在于 IDEA 提供了 Docker 配套的 Configuration,可以一次性定义好操作序列,修改代码或资源后只需 Run/Debug Configuration 即可。
接下来直接通过示例项目介绍这些操作。
项目结构
- 网关项目:gateway
- pigeon RPC 服务项目:service-1
- pigeon RPC 服务项目:service-2
三个项目都为 spring boot 项目,pigeon 使用 zookeeper 做为注册中心,因此需要部署 zookeeper,此外还有 redis。
创建并运行 zookeeper 和 redis 的镜像
不确定 Docker Hub 仓库中是否存在镜像时可使用 docker search redis
进行检索。
docker pull zookeeper
docker run -p 127.0.0.1:2181:2181 --name zookeeper -d zookeeper:latest
docker pull redis
docker run -p 127.0.0.1:6379:6379 --name redis -d redis:latest
Dockfile 文件编写
gateway 项目借助 maven 打成 war 包,两个 RPC 服务最终打成 jar 包。
pigeon 服务的 Dockerfile 文件
<