Tengo un servidor web con varios sitios web PHP. Empujo todas mis actualizaciones a través de FTP.
Tengo la intención de pasar a un entorno más en contenedores sin cambiar gran parte de mi flujo de trabajo básico actual.
Me gustaría implementar cada uno de mis sitios web en un contenedor Docker. La base de datos de todo el sitio web estaría en otro contenedor. Tendré un Docker como proxy inverso.
Para actualizar mi sitio web, tengo dos ideas:
Que piensas de eso ?
Gracias por tu ayuda
Cambiar el código dentro de un contenedor en ejecución, o en absoluto, va en contra de las mejores prácticas de Docker, ya que los contenedores están diseñados para ser efímeros.
Una mejor idea sería reconstruir la imagen cada vez que actualice el código, permitiendo que los contenedores permanezcan efímeros y facilitando la escala. Podría implementar esto a través de CI/CD, pero eso está fuera del alcance de esta pregunta.
Si realmente desea continuar con la idea de ftp, es una buena idea tener un contenedor con un servicio de ftp y otro con el servidor web, ya que los contenedores solo deben tener una preocupación .
Si la imagen de su servidor FTP es my/ftp-image
y su servidor web es my/web-server-image
, entonces puede iniciar sus contenedores de esta manera:
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