前端&优化dockerTool

IntelliJ IDEA 使用 Docker 远程部署

2019-06-02  本文已影响281人  anyesu

前言


通常,部署流程主要为下面几个步骤:

上面的步骤很是繁琐,而且全程需要人工盯着以进行后续步骤,如果需要经常部署的话无疑是很浪费时间的。有人会说可以用 Jenkins 这样的 CI 工具啊,这也是一种方法,但不是本文的目标。

项目 Docker 化改造


既然要用 Docker 进行部署,那就要对现有项目做一些简单的改造,如果项目结构之前已经比较规范了,那么改造起来也会比较简单。

先在项目 根目录 下添加几个文件:

文件 说明
Dockerfile 镜像配置文件,用于配置程序运行时依赖的环境,比如 JavaTomcat
.dockerignore 使用 Docker 构建镜像的时候会将 上下文目录 中的文件复制到 Docker Engine 中,如果每次都要复制一遍 源码构建中间产物 就会很浪费时间,.dockerignore 的作用就是用于忽略这些文件,加快镜像构建速度。
docker-compose.yml 用于多个服务的编排。项目如果依赖了 数据库缓存消息队列 等,可以在这里配置依赖关系,还可以进行动态 扩缩容
.env docker-compose.yml 中可以使用 环境变量 进行参数化配置,一些默认的 环境变量 可以保存在这个文件中,实际构建时可以配置 环境变量 对其进行覆盖。

之后将项目中一些 写死配置 改为通过 环境变量 读取,这样就可以通过 docker-compose.yml 导入 环境变量 ,在不同环境下 ( 开发测试线上 等 ) 不用改文件就可以部署了。具体配置参考下面的测试项目。

准备工作


使用方法


上面的步骤就是 Docker 插件 的常规用法,已经实现了 一键部署 效果,只是需要自己配置 Run Configuration

下面看下另一种使用方式:

这种方式也是 一键式 的,也比较适合在命令行中执行。

Docker Desktop for Windows 的坑


其他方案


上面提到了 Docker Desktop for Windows 的一些问题,所以我不推荐去安装它,单独下载 docker-compose 就好了。考虑到 WindowsLinux 之间交互可能会存在的问题,我还有一种方案:

结语


上面其实只是介绍一个很简单但又实用的功能,更多的是分享我在使用过程中遇到的一些问题,尤其是在写这篇文章的时候才发现自己之前有些认知是错误的,也是一种收获。


转载请注明出处:https://www.jianshu.com/p/410ea6e0b13a

上一篇 下一篇

猜你喜欢

热点阅读