2017-07-20 6 views
0

Ich lerne die Docker-Technologie. Ich führe zwei Wordpress in Docker auf einem Host. aber die zweite Wordpress ist nicht gut zum Arbeiten. Ich führe einen MySQL-Server in Docker und die beiden WordPresss teilen sich die Probe mysql. Lauf Docker Serverbefehl an unter:das zweite Wordpress funktioniert nicht in Docker

sudo docker run --name mysql_db -e MYSQL_ROOT_PASSWORD=xxxx -d mysql 

sudo docker run --name wordpress1 -e WORDPRESS_DB_NAME=wordpress1 --link 
mysql_db:mysql -p 8008:80 -d wordpress 

sudo docker run --name wordpress2 -e WORDPRESS_DB_NAME=wordpress2 --link 
mysql_db:mysql -p 8009:80 -d wordpress 

, wenn ich die ip bekommen: 8008 in IE, ist es gut, aber bekommen ip: 8009, es die IP-Umleitung: 8008, i cann't die Homepage bekommen von 8009 Hafen.

So schaue ich das zweite Wordpress-Protokoll, es zeigt den http 302 Fehler.

wenn ich die 8009 zu 9009 modifiziere und die mysql und zwei wordpress in docker wieder ausführen, der zweite wordpress server ist gut, ich kann webpage von ip: 9009 bekommen.

meine mysql und wordpress Bild ziehen von der Standard-Office-Website.

so kann ich nicht wissen, wenn ich den Port 8009 zu 9009 modifiziere, arbeitet das zweite wordpress gut. Ich kann das Ergebnis nicht durch Suche finden.

Docker --Version

Docker Version 17.06.0-ce, bauen 02c1d87

uname -a

Linux Linux-1 3.16.0-4-amd64 # 1 SMP Debian 3.16. 7-ckt11-1 + deb8u3 (2015-08-04) x86_64 GNU/Linux

.

+0

Wie lautet die Site-URL für diese beiden Setups? – Grimmy

+0

Ich bin mir ziemlich sicher, dass dies auf die Wordpress-Konfiguration zurückzuführen ist und nichts mit Docker selbst zu tun hat. – Grimmy

+0

Denken Sie auch daran, etwas wie 'jwilder/nginx-proxy' zu verwenden, anstatt jede wordpress-Instanz auf einen zufälligen Port auf localhost abzubilden. Sie möchten, dass beide WordPress-Instanzen über Port 80/443 bereitgestellt werden. Dies funktioniert nur, wenn Sie einen Reverse-Proxy verwenden. (Es ist überraschend einfach einzurichten) – Grimmy

Antwort

0

Ich denke, ich finde den Grund. Ich versuche mehr andere Ports zu Wordpress-Mapping, nur die 8009 ist nicht in Ordnung. Da mein Docker im öffentlichen Cloud-Host ist, muss ich durch die Firewall meinen Webserver erreichen, daher denke ich, dass 8009 in Firewall 8008 reflektiert wird. Es ist nicht Problem von Docker und WordPress. danke allen.