I'm using Docker and Docker compose for a PHP-FPM/Nginx/Mariadb application development. I want to use it now in production with Docker swarm and docker-compose v3 (via docker-stack.yml)
My docker-stack file is like that:
version: "3"
services:
db:
image: mariadb
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: app
php:
image: <MYREGISTRY>/php
volumes:
- app-data:/var/www/app
deploy:
replicas: 2
nginx:
image: <MYREGISTRY>/nginx
depends_on:
- php
volumes:
- app-data:/var/www/app
deploy:
replicas: 2
ports:
- "80:80"
volumes:
app-data:
As you can see I use my own private registry to store applications images. My question is where do I put my code source?
I see 2 options:
- New service
app(based on busybox image?) to be a data-only container. Then I can push code source image to my registry and deploy. It can be convenient to have a Docker image with tagged code source. - Copy code in PHP image or Nginx image?
Which is the best option?