我有一个包含多个PHP网站的Web服务器。我通过FTP推送所有更新。
我打算转向更容易集装化的环境,而不会改变我目前的基本工作流程。
我想将我的每个网站部署在Docker容器中。所有网站的数据库都在另一个容器中。 我将把Docker作为反向代理。
要更新我的网站,我有两个想法:
你怎么看?
感谢您的帮助
答案 0 :(得分:4)
更改正在运行的容器内的代码,或根本不更改docker best practices,因为容器设计为短暂的。
更好的想法是每次更新代码时重建映像,允许容器stay ephemeral,并使其更容易扩展。您可以通过CI / CD实现此目的,但这超出了本问题的范围。
如果确实想要继续使用ftp的想法,那么最好让一个容器中包含ftp服务,另一个容器中包含web服务器,容器应have only one concern。
如果您的FTP服务器映像为my/ftp-image
且您的网络服务器为my/web-server-image
,那么您可以像这样启动容器:
docker run -itd --name my-web-server -p 80:80 -v files_volume_name_here:/path/to/files/in/container my/web-server-image
docker run -itd --name my-ftp-server [ports for ftp server here] -v files_volume_name_here:/path/to/files/in/container my/ftp-image