在开发过程中,利用Compose来定义应用程序可以使其在不同的环境中得以运行。
最简单的部署方式是在单台服务器上运行应用程序,类似于开发环境的设置。如果应用程序需要扩展,可以在Swarm集群上运行Compose应用。
在生产环境中,Compose配置需要进行一些调整。
为了使应用程序适合生产环境,可能需要对其配置进行更改。这些修改可能包括:
- 删除所有应用程序代码的卷绑定,以确保代码仅存在于容器内,避免外部修改。
- 绑定到主机的不同端口。
- 调整环境变量的设置,例如减少日志记录的详细程度或为外部服务配置。
- 指定重启策略,例如使用Restart: always以避免停机。
- 添加额外的服务,例如日志聚合器。
因此,建议定义一个附加的Compose文件,例如Production.yml,该文件应包含适合生产的配置。这一配置文件只需列出对原始Compose文件的更改。可以将额外的Compose文件与原始文件docker-compose.yml结合使用以创建新的配置。
在获得第二个配置文件后,使用以下 -f 选项告知Compose:
docker-compose -f docker-compose.yml -f Production.yml up -d
进行部署变更时,若有应用程序代码的更新,务必重建镜像并重新创建应用程序的容器。若要重新部署名为web的服务,请使用:
docker-compose build web
docker-compose up --no-deps -d web
此命令首先重建web镜像,然后停止、销毁并重新创建web服务。–no-deps标志可防止Compose重新创建任何web依赖的服务。
在单台服务器上运行时,您可以通过适当配置和设置环境变量DOCKER_HOST,DOCKER_TLS_VERIFY,DOCKER_CERT_PATH,将应用程序部署到远程Docker主机。
设置完环境变量后,所有常规的docker-compose命令无需进一步配置即可使用。
[[[IMG_1]]]
[[[IMG_2]]]
[[[IMG_3]]]
