生产环境使用 Docker
将配置文件打包进镜像
前置条件:
- 不用配置中心。
- 生产环境服务器不多(个位数)。
一般情况下,容器一旦运行就会立刻启动应用(若只运行容器不启动应用,后面还要手动进容器里面做操作,没有任何意义),因此准备好配置文件的时间点,要小于等于 (≦) docker contianer run 的时候。
因此根据时间点区分,有两种方式准备配置文件:
方式一:容器运行时挂载外部配置。
- 执行
docker container run时添加--volume参数将保存在宿主机的文件挂载到容器里。
方式二:提前将配置打包到镜像中。
- 在项目镜像的基础之上,再创建一个独立镜像,将相应环境的配置文件打包进镜像中。
- 该镜像通过 CI/CD 流水线自动生成,部署时将 image 上传至生产环境服务器,不上传至 registry。镜像命名规则(参考):
project-name:v1.0.0_server-name - 容器运行不需依赖挂载在宿主机的配置文件,保持容器独立性,不受外界影响。(宿主机的文件可会不可预知地被意外改变或删除,直接导致容器 内的应用异常或崩溃)。
各有利弊,建议方式二。