Mariadb en phpMyAdmin in docker

Windows, Android, iOS, Linux, Chrome OS, ...
Plaats reactie
Gebruikersavatar
MaT
Elite Poster
Elite Poster
Berichten: 2083
Lid geworden op: 18 feb 2014, 15:40
Locatie: Gent
Uitgedeelde bedankjes: 163 keer
Bedankt: 311 keer

Onlangs de zeer leuke software docker ontdekt waarin ik nu al enkele programma's draai (en er komen er zeker nog meer bij).

Nu wil ik graag Mariadb draaien en beheren met phpMyAdmin, beiden in hun eigen docker container. De beide containers draaien (phpMyAdmin loginpagina en kan Mariadb beheren via terminal) maar ik krijg ze blijkbaar niet correct gelinked. Bij het proberen inloggen met root/test krijg ik deze fout melding:
phpMyAdmin.jpg
phpMyadmin kan de Mariadb database niet bereiken ondanks de instructies van beide gevolgd te hebben en ik heb geen idee waarom. Het is waarschijnlijk een onnozelheid die ik over het hoofd zie.

phpMyadmin: https://hub.docker.com/r/phpmyadmin/phpmyadmin/

Code: Selecteer alles

docker run --name phpmyadmin -d --link mariadb:db -p 8080:80 -v /docker/phpmyadmin:/etc/phpmyadmin -e PMA_PORT:3406 phpmyadmin/phpmyadmin

Mariadb: https://hub.docker.com/_/mariadb/

Code: Selecteer alles

docker run --name mariadb -d -p 3406:3306 -v /docker/mariadb:/etc/mysql -e MYSQL_ROOT_PASSWORD=test mariadb:latest
Het BIPT aanziet modems en routers als een onderdeel van de eindapparatuur van de eindgebruiker waardoor deze vrij te kiezen zijn voor breedband en internettelefonie.
Bron
brubbel
Elite Poster
Elite Poster
Berichten: 919
Lid geworden op: 04 jul 2012, 16:55
Uitgedeelde bedankjes: 76 keer
Bedankt: 174 keer
Recent bedankt: 1 keer

MariaDB-container poort 3406 wordt gemapt op docker0 poort 3306 (-p 3406:3306) en is dus niet bereikbaar vanuit de andere container op poort 3406 (PMA_PORT:3406).

MariaDB default poort is 3306 dus ik zou het eens omdraaien (-p 3306:3406). De rest identiek.
Gebruikersavatar
MaT
Elite Poster
Elite Poster
Berichten: 2083
Lid geworden op: 18 feb 2014, 15:40
Locatie: Gent
Uitgedeelde bedankjes: 163 keer
Bedankt: 311 keer

Bedoel je de default poort van MariaDB aanpassen naar 3406, te mappen -p 3306;3406 en PMA_PORT 3306 gebruiken?
Want het is toch externe poort:interne poort?
Het BIPT aanziet modems en routers als een onderdeel van de eindapparatuur van de eindgebruiker waardoor deze vrij te kiezen zijn voor breedband en internettelefonie.
Bron
brubbel
Elite Poster
Elite Poster
Berichten: 919
Lid geworden op: 04 jul 2012, 16:55
Uitgedeelde bedankjes: 76 keer
Bedankt: 174 keer
Recent bedankt: 1 keer

Nee, MariaDB blijft intern op 3306. Enkel extern exposen/mappen op 3406 (-p 3306:3406). PHP container benadert nog altijd poort 3406.
Volgens mij is het -p INTERN:EXTERN.
Laatst gewijzigd door brubbel 05 okt 2017, 20:09, in totaal 1 gewijzigd.
Gebruikersavatar
MaT
Elite Poster
Elite Poster
Berichten: 2083
Lid geworden op: 18 feb 2014, 15:40
Locatie: Gent
Uitgedeelde bedankjes: 163 keer
Bedankt: 311 keer

Volgens mij niet, dan zou ik phpMyadmin niet kunnen bereiken op poort 8080, wat wel lukt ;)
Het BIPT aanziet modems en routers als een onderdeel van de eindapparatuur van de eindgebruiker waardoor deze vrij te kiezen zijn voor breedband en internettelefonie.
Bron
brubbel
Elite Poster
Elite Poster
Berichten: 919
Lid geworden op: 04 jul 2012, 16:55
Uitgedeelde bedankjes: 76 keer
Bedankt: 174 keer
Recent bedankt: 1 keer

Ik zal mij vergissen. Pas alles eens aan naar de default MariaDB port? (3306)
Gebruikersavatar
MaT
Elite Poster
Elite Poster
Berichten: 2083
Lid geworden op: 18 feb 2014, 15:40
Locatie: Gent
Uitgedeelde bedankjes: 163 keer
Bedankt: 311 keer

Is helaas niet mogelijk wegens conflict.. ik zou al op een andere machine moeten proberen, maar sowieso wil ik het op de huidige machine aan de praat krijgen met een alternatieve poort dus.
Het BIPT aanziet modems en routers als een onderdeel van de eindapparatuur van de eindgebruiker waardoor deze vrij te kiezen zijn voor breedband en internettelefonie.
Bron
brubbel
Elite Poster
Elite Poster
Berichten: 919
Lid geworden op: 04 jul 2012, 16:55
Uitgedeelde bedankjes: 76 keer
Bedankt: 174 keer
Recent bedankt: 1 keer

Het is inderdaad EXTERN:INTERN (net getest).
Ik krijg trouwens dezelfde fout onder ubuntu (Can't connect to local MySQL server).
Gebruikersavatar
MaT
Elite Poster
Elite Poster
Berichten: 2083
Lid geworden op: 18 feb 2014, 15:40
Locatie: Gent
Uitgedeelde bedankjes: 163 keer
Bedankt: 311 keer

Draai jij de containers als host of bridge?
Het BIPT aanziet modems en routers als een onderdeel van de eindapparatuur van de eindgebruiker waardoor deze vrij te kiezen zijn voor breedband en internettelefonie.
Bron
ITnetadmin
userbase crew
userbase crew
Berichten: 8974
Lid geworden op: 28 jan 2012, 18:22
Uitgedeelde bedankjes: 199 keer
Bedankt: 690 keer
Recent bedankt: 2 keer

Beginnervraagje: wat is docker? :-)
brubbel
Elite Poster
Elite Poster
Berichten: 919
Lid geworden op: 04 jul 2012, 16:55
Uitgedeelde bedankjes: 76 keer
Bedankt: 174 keer
Recent bedankt: 1 keer

Ik gebruik de default mode (docker0 bridge). Had eens een paar testen gedaan met network=host maar ik had vreemde problemen dacht ik als het netwerk verandert, bv van ethernet naar wlan.

@ITnetadmin: the future :-) Ik gebruik docker sinds een goed jaar en het is een verademing.

Een soort OS level isolation (zoals cgroups) in plaats van virtuele machines. Op mijn simpele i3 pc draai ik met gemak 50 containers, maar geen 50 VM's. Een nieuw test environment starten? Letterlijk <1s.

Op AWS EC2 draai ik zo meerdere geisoleerde services per VM, met een watchdog voor automatische restarts. Updates en rollbacks zullen nooit simpeler worden.
Gebruikersavatar
MaT
Elite Poster
Elite Poster
Berichten: 2083
Lid geworden op: 18 feb 2014, 15:40
Locatie: Gent
Uitgedeelde bedankjes: 163 keer
Bedankt: 311 keer

Solved!

Na veel opzoekwerk en trail & error experimenten is het gelukt met volgende instellingen:

phpMyAdmin:

Code: Selecteer alles

docker run --name phpmyadmin -d --link mariadb:db -p 8080:80 -e PMA_PORT:3306 phpmyadmin/phpmyadmin
Merk op:
  • Geen volume.
  • PMA_PORT is de standaard 3306 poort, niet de mapped 3406 poort ookal is ze wel gemapped in de MariaDB container.
  • Als de naam van de MariaDB container anders is moet je dit invullen bij 'server' of toevoegen als '-e PMA_HOST:naam_mariadb_container'
  • phpMyAdmin login pagina ziet er zo uit:
phpMyAdmin2.jpg

Mariadb:

Code: Selecteer alles

docker run --name mariadb -d -p 3406:3306 -v /docker/mariadb:/etc/mysql -e MYSQL_ROOT_PASSWORD=test mariadb:latest
Niets gewijzigd.
Het BIPT aanziet modems en routers als een onderdeel van de eindapparatuur van de eindgebruiker waardoor deze vrij te kiezen zijn voor breedband en internettelefonie.
Bron
Wuter
Plus Member
Plus Member
Berichten: 218
Lid geworden op: 23 mei 2012, 20:18
Uitgedeelde bedankjes: 22 keer
Bedankt: 12 keer

Ik had ook zo'n probleem met die fout kwam steeds met die MySQL 2002 fout. Was met install van owncloud.
Plaats reactie

Terug naar “Software en apps”