Hi,
wir haben einen Server auf dem ich mich in einem LXC-Container befinde, darin sind weitere LXC-Container. Auf einem rattert die mysql vor sich hin auf dem anderen der apache mit php. Bis gestern lief das alles wunderbar. Dann hab ich https mit let's entcrypt installiert und im Zuge von bugfixing in der Apache host configuration wurden beider container neu gestartet. Seit dem kommt die eingestellte Verbindung vom Phhp Container zum mysql nicht mehr zustande. Innerhalb des mysql Containers funktioniert der cli-client. Aber die Scripte im webserver-Container erreichen ihn nicht mehr.
Leider hab ich die LXC Config nicht aufgebaut und auch nicht den mega Durchblick, darum die Frage welche tools am sinvollsten sind um deren Kommunikation zu debuggen?
Danke und Grüße Rob
Ps: Sachdienliche Hinweise zum Problem würden mich natürlich auch freuen aber ich vermute das Problem wird zu spezifisch sein um mit raten weiter zu kommen.
Hi Rob,
... wurden beider container neu gestartet. Seit dem kommt die eingestellte Verbindung vom Phhp Container zum mysql nicht mehr zustande. Innerhalb des mysql Containers funktioniert der cli-client. Aber die Scripte im webserver-Container erreichen ihn nicht mehr.
Kann es nicht sein, dass die beiden Container beim "reboot" einfach neue IPs bekommen haben? Bei Docker vermeide ich das, in dem ich den mysql-container auf der docker bridge hören lasse (-p 172.17.0.1:3306:3306)
Der PHP Container wird mysql sicher via socket (/var/run/mysqld.sock) erreichen wollen, wenn der Host nicht direkt in der jeweiligen PHP Anwendung (oder Scripte whatever) definiert ist, sondern auf localhost verbindet. - Ist der mysql-container in der /etc/hosts (mit nun veralteter IP) definiert? - Ist auf dem php-container "socat" eingerichtet?
- Kannst du den mysql-container via telnet 3306 oder falls installiert, - via mysql-client vom php-container aus mit Option -h erreichen?
Grüße, Silvio :-)
Hi Silv,
Am 01.12.2016 um 11:52 schrieb silvio@gohl.it:
Hi Rob,
... wurden beider container neu gestartet. Seit dem kommt die eingestellte Verbindung vom Phhp Container zum mysql nicht mehr zustande. Innerhalb des mysql Containers funktioniert der cli-client. Aber die Scripte im webserver-Container erreichen ihn nicht mehr.
Kann es nicht sein, dass die beiden Container beim "reboot" einfach neue IPs bekommen haben? Bei Docker vermeide ich das, in dem ich den mysql-container auf der docker bridge hören lasse (-p 172.17.0.1:3306:3306)
Die IPs sind genau wie vorher. Die Container sollten laut route über eine Lxc Bridge sprechen. Wird auf dem web-container ein ping gegen den mysql-container geschickt, klappt das. Komischerweise kommen im mysql-container keine dieser Pakete an.
Der PHP Container wird mysql sicher via socket (/var/run/mysqld.sock) erreichen wollen, wenn der Host nicht direkt in der jeweiligen PHP Anwendung (oder Scripte whatever) definiert ist, sondern auf localhost verbindet.
Die Scripte versuchen mit der ip des mysql-containers auf port 3306 zu sprechen
- Ist der mysql-container in der /etc/hosts (mit nun veralteter IP) definiert?
- Ist auf dem php-container "socat" eingerichtet?
Leider kann ich auf dem web-container auch keine Pakete mehr installieren, da der seit dem auch kein Internet mehr hat.
- Kannst du den mysql-container via telnet 3306 oder falls installiert,
- via mysql-client vom php-container aus mit Option -h erreichen?
Werd ich mal probieren.
Danke und Grüße Rob :)
Grüße, Silvio :-)
lug-dd@mailman.schlittermann.de