Skip to main content

生产环境使用 Docker

将配置文件打包进镜像

前置条件:

  • 不用配置中心。
  • 生产环境服务器不多(个位数)。

一般情况下,容器一旦运行就会立刻启动应用(若只运行容器不启动应用,后面还要手动进容器里面做操作,没有任何意义),因此准备好配置文件的时间点,要小于等于 (≦) docker contianer run 的时候。

因此根据时间点区分,有两种方式准备配置文件:

方式一:容器运行时挂载外部配置。

  • 执行 docker container run 时添加 --volume 参数将保存在宿主机的文件挂载到容器里。

方式二:提前将配置打包到镜像中。

  • 在项目镜像的基础之上,再创建一个独立镜像,将相应环境的配置文件打包进镜像中。
  • 该镜像通过 CI/CD 流水线自动生成,部署时将 image 上传至生产环境服务器,不上传至 registry。镜像命名规则(参考):project-name:v1.0.0_server-name
  • 容器运行不需依赖挂载在宿主机的配置文件,保持容器独立性,不受外界影响。(宿主机的文件可会不可预知地被意外改变或删除,直接导致容器内的应用异常或崩溃)。

各有利弊,建议方式二。