pas dans un conteneur docker mais oui dans n conteneurs dockers.
Alors que vous pouviez - théoriquement - assembler tout votre environnement de développement dans un seul conteneur, docker n'était pas censé le faire.
Au lieu de cela, vous devez déployer chaque service dans des conteneurs séparés, en utilisant docker compose , en gérant l'ensemble de votre infrastructure dans un seul fichier, où chaque service aura son propre fichier journal, espace utilisateur, réseau, etc.
Permettez-moi de vous donner un exemple, ceci est un brouillon de mon docker-compose.yml
version: '2'
services:
myproxy:
build: myproxy
container_name: ppproxy
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
networks:
default:
aliases:
- www.domain1.it
- www.domain2.it
- www.domain4.it
mydb1:
build: mydb
environment:
DB_USER: sdffdssdf
DB_PASSWORD: fdsfsdsdf
DB_NAME: dbanme1
DB_ENCODING: UTF-8
VIRTUAL_HOST: myhost1.net.lan
VIRTUAL_PORT: 5432
mydb2:
build: mydb
environment:
DB_USER: ssdfsdfs
DB_PASSWORD: sffdssd
DB_NAME: dbanme2
DB_ENCODING: UTF-8
VIRTUAL_HOST: myhost2.net.lan
VIRTUAL_PORT: 5432
www:
image: myimages/oldservice:v1.1
container_name: www
command: /bin/bash /root/launch
environment:
VIRTUAL_HOST: www.domain1.it
VIRTUAL_PORT: 80
ports:
- 80
depends_on:
- mydb1
- mydb1
- myws
myws:
build: myjettycontainer
environment:
HTTPS_METHOD: noredirect
VIRTUAL_HOST: www.domain2.it
VIRTUAL_PORT: 8080
ports:
- 8080
depends_on:
- mydb1
- mydb2
- myproxy
- mypostfix
mypostfix:
image: catatnight/postfix
container_name: mailer
environment:
maildomain: domain1.it
smtp_user: mymail:sfsfdfds
ports:
- 25
Il existe un proxy nginx (myproxy), deux bases de données PostgreSQL similaires (mydb1 et 2), un ancien serveur d'applications Web Java (www), un conteneur de jetée Java qui fournit un service Web de repos et enfin un conteneur de suffixe SMTP très simple.
Tout démarre - généralement :) - avec docker-compose up
, soit sur ma machine de développement, soit en production; les fichiers journaux sont regroupés en un seul fichier facile à lire et il est possible de répliquer localement presque toutes les fonctionnalités avec la garantie que, si cela fonctionne sur mon ordinateur portable, cela fonctionnera.