:80
Ich habe einen Server mit mehreren IP-Adressen. Ich möchte, dass verschiedene Nginx-Container auf :443
zwei IPs auf diesem Host lauschen .
/srv/www1/docker-compose.yml
:
nginx:
image: nginx:mainline-alpine
container_name: www1
ports:
- "69.69.69.1:80:80/tcp"
- "69.69.69.1:443:443/tcp"
/srv/www2/docker-compose.yml
:
nginx:
image: nginx:mainline-alpine
container_name: www2
ports:
- "69.69.69.2:80:80/tcp"
- "69.69.69.2:443:443/tcp"
EntwederDer erste Container kann ohne Probleme gestartet werden. Wenn ich jedoch beispielsweise versuche, den zweiten Container zu starten www2
, während der erste bereits ausgeführt wird, wird der erste Container gestoppt und dieser Fehler wird ausgegeben:
WARNING: Found orphan containers (www1) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.
Nein, es handelt sich nicht um denselben Container. Die docker-compose.yml
Dateien befinden sich nicht einmal im selben Verzeichnis. Es scheint, als würde Docker die Felder image:
und verwenden ports:
, umidentifizierenContainer, ignoriert aber die IP-Adressen.
Ist das ein Fehler? Wie kann ich es zum Laufen bringen?
Antwort1
Das Ausführen der Container aus einer einzelnen Docker-Compose-Datei funktioniert.
/srv/www/docker-compose.yml
:
version: '3'
services:
nginx1:
image: nginx:mainline-alpine
container_name: www1
ports:
- "69.69.69.1:80:80/tcp"
- "69.69.69.1:443:443/tcp"
nginx2:
image: nginx:mainline-alpine
container_name: www2
ports:
- "69.69.69.2:80:80/tcp"
- "69.69.69.2:443:443/tcp"
Überprüfen Sie es mit ss
:
# ss -tln | grep ':80 \|:443 '
LISTEN 0 4096 69.69.69.1:443 0.0.0.0:*
LISTEN 0 4096 69.69.69.2:443 0.0.0.0:*
LISTEN 0 4096 69.69.69.1:80 0.0.0.0:*
LISTEN 0 4096 69.69.69.2:80 0.0.0.0:*