[PMA] Docker negeert Env settings

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Sa1
  • Registratie: Oktober 2000
  • Laatst online: 18-09 16:40
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


Acties:
  • 0 Henk 'm!

  • amx
  • Registratie: December 2007
  • Laatst online: 30-08 10:48

amx

docker logs?

Acties:
  • 0 Henk 'm!

  • Sa1
  • Registratie: Oktober 2000
  • Laatst online: 18-09 16:40
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 ]


Acties:
  • 0 Henk 'm!

  • amx
  • Registratie: December 2007
  • Laatst online: 30-08 10:48

amx

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

Acties:
  • 0 Henk 'm!

  • Sa1
  • Registratie: Oktober 2000
  • Laatst online: 18-09 16:40
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:

Afbeeldingslocatie: https://tweakers.net/i/E-43VsEzVHCsB7EnWkAb5097ALM=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/KSznAArlmdaccv3krV3SYHj9.png?f=user_large

Dat zou toch wel moeten?

Acties:
  • 0 Henk 'm!

  • amx
  • Registratie: December 2007
  • Laatst online: 30-08 10:48

amx

(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 ]


Acties:
  • 0 Henk 'm!

  • OverloadOfRed
  • Registratie: Maart 2010
  • Laatst online: 13-09 14:54

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


Acties:
  • 0 Henk 'm!

  • Sa1
  • Registratie: Oktober 2000
  • Laatst online: 18-09 16:40
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?

Acties:
  • 0 Henk 'm!

  • Sa1
  • Registratie: Oktober 2000
  • Laatst online: 18-09 16:40
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.

Acties:
  • 0 Henk 'm!

  • Sa1
  • Registratie: Oktober 2000
  • Laatst online: 18-09 16:40
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.

Acties:
  • 0 Henk 'm!

  • amx
  • Registratie: December 2007
  • Laatst online: 30-08 10:48

amx

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

Acties:
  • 0 Henk 'm!

  • lolgast
  • Registratie: November 2006
  • Laatst online: 06:14
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:
  • +1 Henk 'm!

  • Sa1
  • Registratie: Oktober 2000
  • Laatst online: 18-09 16:40
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.

Acties:
  • 0 Henk 'm!

  • Sa1
  • Registratie: Oktober 2000
  • Laatst online: 18-09 16:40
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