用于PHP环境的Docker内的FTP访问

时间:2017-04-29 07:19:14

标签: php docker ftp

我有一个包含多个PHP网站的Web服务器。我通过FTP推送所有更新。

我打算转向更容易集装化的环境,而不会改变我目前的基本工作流程。

我想将我的每个网站部署在Docker容器中。所有网站的数据库都在另一个容器中。 我将把Docker作为反向代理。

要更新我的网站,我有两个想法:

  • 在容器中设置FTP访问权限,以便我可以直接更新
  • 通过卷设置主机的共享目录,这样我就可以设置主机的FTP访问权限。

你怎么看?

感谢您的帮助

1 个答案:

答案 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