Bonjour à tous,
Je ne parvient pas à faire fonctionner mon serveur sous docker et découvrant ce système, du haut de mes minces compétences en administration réseau, je ne parvient pas à trouver de solution, ni même les raisons à ce dysfonctionnement.
Ne sachant pas vraiment d'où vient mon problème, il est possible que je ne soit pas dans la bonne section. Veuillez m'en excuser si tel est le cas.
Toute mes excuses également pour le titre du topic qui n'est pas très précis.
Contexte :
Je me suis assemblé un serveur sous Debian sur lequel j'ai installé Docker (et docker-compose) pour pouvoir bénéficier du système de containers. J'aimerais continuer sur cette piste, aussi, je ne suis pour l'instant pas intéressé par les "solutions" consistant à faire sans Docker. Merci de votre compréhension sur ce point.
Docker-compose
Voici mon fichier de configuration docker-compose (j'ai bien-sûr censuré toutes les informations sensibles : mots de passes, nom de domaine...) :
Une fois le fichier modifié, le lance un docker-compose up -d depuis le répertoire dans lequel se situe le fichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120 version: '2' services: # Serveur Web : NGINX nginx: container_name: nginx image: nginx logging: driver: "json-file" options: max-size: "50m" max-file: "10" ports: - "80:80" - "443:443" restart: always volumes: - /data/Config/nginx/certs:/etc/nginx/certs - /data/Config/nginx/vhost.d:/etc/nginx/vhost.d - /data/Config/nginx/conf.d:/etc/nginx/conf.d - /data/Config/nginx/html:/usr/share/nginx/html # Génère les fichiers de config à NGINX docker-gen: container_name: nginx-generator image: jwilder/docker-gen restart: unless-stopped command: -notify-sighup nginx -watch /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf logging: driver: "json-file" options: max-size: "50m" max-file: "10" volumes_from: - nginx volumes: - /var/run/docker.sock:/tmp/docker.sock - /data/Config/nginx/nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl # Gère Let's Encrypt avec NGYNX nginx-letsencrypt: container_name: nginx-letsencrypt image: alastaircoote/docker-letsencrypt-nginx-proxy-companion restart: unless-stopped logging: driver: "json-file" options: max-size: "50m" max-file: "10" volumes_from: - nginx volumes: - /var/run/docker.sock:/var/run/docker.sock:ro # Bases de données : MySQL mysql: container_name: mysql image: mysql:latest restart: unless-stopped environment: - MYSQL_ROOT_PASSWORD=*** volumes: - /data/mysql:/var/lib/mysql # Bases de données : PHPMyAdmin phpmyadmin: container_name: phpmyadmin image: phpmyadmin/phpmyadmin restart: unless-stopped environment: - PMA_HOST=mysql - VIRTUAL_HOST=phpmyadmin.***.fr - LETSENCRYPT_HOST=phpmyadmin.***.fr - LETSENCRYPT_EMAIL=contact@***.fr # OwnCloud : Cloud libre owncloud: container_name: owncloud image: owncloud:latest restart: unless-stopped environment: - VIRTUAL_HOST=cloud.***.fr - LETSENCRYPT_HOST=cloud.***.fr - LETSENCRYPT_EMAIL=contact@***.fr volumes: - /data/Config/owncloud:/var/www/html/config - /data/Config/owncloud:/var/www/html/data - /data:/home # Subsonic : Streaming audio subsonic: container_name: subsonic image: hurricane/subsonic restart: unless-stopped environment: - VIRTUAL_HOST=subsonic.***.fr - VIRTUAL_PORT=80 - LETSENCRYPT_HOST=subsonic.***.fr - LETSENCRYPT_EMAIL=contact@***.fr - TZ=Europe/Paris - MAX_MEM=1024 - HTTP_PORT=80 volumes: - /data/Config/subsonic:/subsonic - /data/Musique:/music # jDownloader : Gestionnaire de téléchargements directs (https://github.com/jlesage/docker-jdownloader-2#docker-compose-file) jdownloader-2: container_name: jdownloader-2 image: jlesage/jdownloader-2 restart: unless-stopped ports: - "5800:5800" environment: - VIRTUAL_HOST=jdownloader.***.fr - VIRTUAL_PORT=5800 - LETSENCRYPT_HOST=jdownloader.***.fr - LETSENCRYPT_EMAIL=contact@***.fr volumes: - /data/Config/jdownloader-2:/config:rw - /data/Telechargements:/output:rw
Connexion
Mon serveur est relié à internet via une Freebox dont l'administration est possible en WAN mais sur un port différent du 80.
J'ai configuré les redirections des ports 22, 80, et 443, toutes en TCP, sur les ports correspondant de mon serveur.
J'accède à mon serveur en WAN avec SSH sans problème.
Problème :
Lorsque j'essaie de me connecter par exemple sur subsonic.***.fr (testé sur les autres url aussi: cloud, phpmyadmin...), mon navigateur me dit que le site n'autorise pas la connexion.
Pistes :
- Je dirais que la redirection de port fonctionne puisque SSH fonctionne (port 22), mais je ne connais aucun moyen de vérifier ça de façon fiable.
- N'y a-t-il pas besoin d'ouvrir les ports sur le serveur ? Je crois qu'il y a quelque chose avec iptables mais je ne sais pas trop... Docker ne gère-t-il pas ça tout seul avec les ports fournis à nginx dans le docker-compose ?
J'espère avoir fourni suffisamment d'informations.
Dans l'espoir de finir par trouver une solution, je vous remercie pour votre aide précieuse.
Partager