Toon posts:

[PMA] Docker negeert Env settings

Pagina: 1
Acties:

Vraag


  • Sa1
  • Registratie: Oktober 2000
  • Laatst online: 29-03 09:32
Heb recentelijk mijn wordpress / mariadb / rev proxy omgeving omgezet van mijn NAS naar een PI4 met docker-compose der op. Werkt prettig. Ik wilde ook phpmyadmin (PMA) daar op gaan draaien. Maar dat lukt nog niet helemaal.

Mijn compose file:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
pma:
#    image: jackgruber/phpmyadmin
    image: phpmyadmin:latest
    container_name: pma
    user: 1000:1000
    links:
      - mariadb
    environment:
      - PMA_HOST=mariadb
      - PMA_PORT=3306
      - PMA_ARBITRARY=1
    restart: always
    volumes:
      - ${DOCKERCONFDIR}/pma/config:/etc/phpmyadmin
    networks:
      composemacvlan:
        ipv4_address: 192.168.0.20


Ik heb mijn info van de volgende plek gehaald: https://github.com/phpmyadmin/docker , lijkt mij redelijk recht toe, recht aan config. Maar als ik hem start dan zie ik alleen de pagina en een gebruikersnaam / wachtwoord.

Met PMA_ARBITRARY=1 had ik verwacht dat ik zelf een servernaam in mag vullen. Dat lijkt echter niet gelezen te worden. Kijk ik in portainer dan zie ik wel degelijk dat de env settings er zijn.

Als ik mijn gebruikersnaam / wachtwoord invul dan zegt hij het volgende:

code:
1
mysqli::real_connect(): (HY000/2002): No such file or directory


Dat doet mij vermoeden dat hij helemaal niet probeert te verbinden naar 'mariadb'.

Ga ik naar een 'ouder' image op basis van de commented phpmyadmin container dan werken deze gegevens wel gewoon. Hij vult dan niet het server adres in, en presenteert hem leeg. Dan kan ik hem dus wel invullen. Dat doet vermoeden dat dat image wel de ARBITRARY=1 herkent. De rest van de info blijft dan echter leeg en moet ik handmatig invullen. Ik wil eigenlijk gebruik maken van de officiele phpmyadmin container, die ook op de laatste versie zit.

Waar gaat het nou mis?

Alle reacties


  • amx
  • Registratie: December 2007
  • Laatst online: 01-03 21:23
docker logs?

  • Sa1
  • Registratie: Oktober 2000
  • Laatst online: 29-03 09:32
code:
1
2
3
4
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.20.78. Set the 'ServerName' directive globally to suppress this message
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.20.78. Set the 'ServerName' directive globally to suppress this message
[Fri Mar 19 14:55:45.475263 2021] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.38 (Debian) PHP/7.4.16 configured -- resuming normal operations
[Fri Mar 19 14:55:45.475459 2021] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'


Nagenoeg niets. Doet ook vermoeden dat het gewoon draait en de docker zelf vindt dat het prima is zo. Dit overigens direct na een herstart van de container.

[Voor 3% gewijzigd door Sa1 op 19-03-2021 15:58]


  • amx
  • Registratie: December 2007
  • Laatst online: 01-03 21:23
ik denk dat de mariadb (root) username en wachtwoord niet herkend worden
Kun je via docker run een shell starten op mariadb en proberen in te loggen met het root gebruikersnaam en wachtwoord? of met het ingestelde gebruikersnaam- en wachtwoord

  • Sa1
  • Registratie: Oktober 2000
  • Laatst online: 29-03 09:32
amx schreef op vrijdag 19 maart 2021 @ 16:08:
ik denk dat de mariadb (root) username en wachtwoord niet herkend worden
Kun je via docker run een shell starten op mariadb en proberen in te loggen met het root gebruikersnaam en wachtwoord? of met het ingestelde gebruikersnaam- en wachtwoord
ben even aan het bedenken hoe je dit bedoelt.

Ik heb mariadb ook draaien in een docker, die draait goed en kan daar gewoon op inloggen met root en mijn wachtwoord. Wordpress heb ik ook als docker draaien en die heeft zijn database ook gewoon op de mariadb draaien en kan daarmee (met een eigen gebruikersnaam uiteraard) ook aanmelden.

Met docker run (ik gebruik eigenlijk altijd docker exec -it) kan ik dus in de mariadb docker gewoon inloggen. Dat is geen probleem.

Het probleem zit hem in de PMA verwacht ik, die negeert volgens mij de env settings. Ik krijg bijv geen server dialoog te zien:



Dat zou toch wel moeten?

  • amx
  • Registratie: December 2007
  • Laatst online: 01-03 21:23
(HY000/2002):
dit wijst op het niet kunnen aanmelden bij de sql database

https://github.com/phpmyadmin/docker/issues/271

Is de database wel bereikbaar via de PMA container service?
version: '3.1'
dit is de compose versie?

[edit]

in bovenstaande link wordt er, en ik denk dat dit standaard zo hoort, in de compose file, of in een aparte env file, de gebruikernaam en wachtwoord ingevuld

Ben je niet vergeten om de login gegevens in de compose file te plaatsen?

[Voor 32% gewijzigd door amx op 19-03-2021 16:56]


  • OverloadOfRed
  • Registratie: Maart 2010
  • Laatst online: 27-03 22:31

OverloadOfRed

Bla, blabla

Sa1 schreef op woensdag 17 maart 2021 @ 16:37:

Dat doet mij vermoeden dat hij helemaal niet probeert te verbinden naar 'mariadb'.

Ga ik naar een 'ouder' image op basis van de commented phpmyadmin container dan werken deze gegevens wel gewoon. Hij vult dan niet het server adres in, en presenteert hem leeg. Dan kan ik hem dus wel invullen. Dat doet vermoeden dat dat image wel de ARBITRARY=1 herkent. De rest van de info blijft dan echter leeg en moet ik handmatig invullen. Ik wil eigenlijk gebruik maken van de officiele phpmyadmin container, die ook op de laatste versie zit.
- PMA_HOST=mariadb

Als je dit aangeeft lijkt het me wel dat je dus een server hebt opgegeven. Ik snap je conclusie dus niet helemaal. Lijkt me juist wel dat je de mariadb container gebruikt. Als je die env verwijdert, zie je dan wel de server setting?
Zoals hierboven, heb je je username/ww in een .env (of in je docker-compose als je die maar niet serveert) meegegeven?

Ik ben chatman, supersnel met MSN. Er is niemand die me niet kent


  • Sa1
  • Registratie: Oktober 2000
  • Laatst online: 29-03 09:32
amx schreef op vrijdag 19 maart 2021 @ 16:48:
(HY000/2002):
dit wijst op het niet kunnen aanmelden bij de sql database

https://github.com/phpmyadmin/docker/issues/271

Is de database wel bereikbaar via de PMA container service?


[...]

dit is de compose versie?

[edit]

in bovenstaande link wordt er, en ik denk dat dit standaard zo hoort, in de compose file, of in een aparte env file, de gebruikernaam en wachtwoord ingevuld

Ben je niet vergeten om de login gegevens in de compose file te plaatsen?
Een losse ENV file kan ik nog wel proberen, maar dat is volgens mij eigenlijk onderdeel van docker / compose en staat los van de container zelf. De container kan volgens mij niet afdwingen dat er een losse env gebruikt dient te worden.

Ik kan me daarnaast ook niet voorstellen dat de root gegeven in een env file opgegeven moeten worden daar je moet inloggen op mysql d.m.v. PMA met die gegevens. Dan zou jij al geauthentiseerd zijn naar de MYSQL met de root gegevens en moet je alsnog inloggen. Lijkt me raar, toch?

  • Sa1
  • Registratie: Oktober 2000
  • Laatst online: 29-03 09:32
OverloadOfRed schreef op zaterdag 20 maart 2021 @ 17:52:
[...]


- PMA_HOST=mariadb

Als je dit aangeeft lijkt het me wel dat je dus een server hebt opgegeven. Ik snap je conclusie dus niet helemaal. Lijkt me juist wel dat je de mariadb container gebruikt. Als je die env verwijdert, zie je dan wel de server setting?
Zoals hierboven, heb je je username/ww in een .env (of in je docker-compose als je die maar niet serveert) meegegeven?
Dat klopt. In mijn beleving zorg je met de env var PMA_HOST dat hij 'hardcoded' naar die host verbindt. Maar dan zal je wel moeten kunnen aanmelden, en niet dat hij vindt dat niet kan verbinden, toch? Overigens zonder die var verbindt hij ook niet. Met PMA_HOSTS, dus met een S er bij kun je meerdere hosts opgeven, je zou volgens mij dan een selectie moeten krijgen, maar ook dat werkt niet.

  • Sa1
  • Registratie: Oktober 2000
  • Laatst online: 29-03 09:32
Ik denk dat ik het heb. Nadat ik user: 1000:1000 heb verwijdert begon het een en 't ander te functioneren. Deze settings heb ik gehaald uit de officiële docker info bij het package, maar het lijkt dus niet lekker te werken.

Jammerlijk genoeg moet PMA dus onder het root account draaien.

@heren dank voor het meedenken.

  • amx
  • Registratie: December 2007
  • Laatst online: 01-03 21:23
Fijn dat het werkt

Op de Github pagina staat dat zowel de Github als de oude Dockerhub (beide met dezelfde handleiding) verouderd zijn en dat de nieuwste documentatie hier is te vinden:

https://hub.docker.com/_/phpmyadmin
Note that since phpMyAdmin has been accepted in to the official DockerHub repository, you can use either that or this older phpMyAdmin repository for your Docker installation. This is maintained as a courtesy to users who have not migrated.
wie weet kan je via de nieuwe handleiding met UID 1000 de docker image starten

  • lolgast
  • Registratie: November 2006
  • Nu online
Draait de mariadb container in hetzelfde docker netwerk?

Anders gezegd, wat komt er uit:
docker exec -it pma ping mariadb

[Voor 40% gewijzigd door lolgast op 22-03-2021 11:29]


Acties:
  • +1Henk 'm!

  • Sa1
  • Registratie: Oktober 2000
  • Laatst online: 29-03 09:32
lolgast schreef op maandag 22 maart 2021 @ 11:28:
Draait de mariadb container in hetzelfde docker netwerk?

Anders gezegd, wat komt er uit:
docker exec -it pma ping mariadb
Inmiddels werkt het. Grappige is dat in het docker image kan ik geen 'ping' starten want het programma is er niet. Beetje uitgekleed dus.

  • Sa1
  • Registratie: Oktober 2000
  • Laatst online: 29-03 09:32
amx schreef op maandag 22 maart 2021 @ 11:20:
Fijn dat het werkt

Op de Github pagina staat dat zowel de Github als de oude Dockerhub (beide met dezelfde handleiding) verouderd zijn en dat de nieuwste documentatie hier is te vinden:

https://hub.docker.com/_/phpmyadmin


[...]


wie weet kan je via de nieuwe handleiding met UID 1000 de docker image starten
Daar had ik dus al gekeken, maar daar vind ik niets over het draaien onder een andere user. Kijk er over een jaar ofzo wel weer naar.
Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee