GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Jak spustit PHPMyAdmin v kontejneru Docker

PHPMyAdmin je oblíbené administrační rozhraní pro databáze MySQL a MariaDB. Umožňuje vám pracovat se schématy, tabulkami a daty pomocí webového prohlížeče.

Projekt má oficiální obrázek Docker, který zjednodušuje nasazení v kontejnerových prostředích. Zde je návod, jak použít obrázek k rychlému spuštění nové instance PHPMyAdmin.

Základní použití

Nejjednodušší instalace umožňuje kontejneru PHPMyAdmin připojit se k libovolnému přístupnému databázovému serveru:

docker run -d --name phpmyadmin -e PMA_ARBITRARY=1 -p 8080:80 phpmyadmin

Tento příkaz spustí PHPMyAdmin na portu 8080. Navštivte localhost:8080 ve vašem prohlížeči, abyste viděli přihlašovací obrazovku. Přítomnost PMA_ARBITRARY Proměnná prostředí vede k zobrazení formuláře připojení k serveru. Chcete-li se přihlásit, zadejte přihlašovací údaje hostitele a uživatele vaší databáze MySQL nebo MariaDB.

Když používáte tuto metodu, normálně se vám zobrazí upozornění PHPMyAdmin, že „některé rozšířené funkce byly deaktivovány“. K tomu dochází, když server, ke kterému jste připojeni, nemá žádnou databázi s názvem phpmyadmin . PHPMyAdmin používá toto schéma k ukládání vlastních konfiguračních dat.

Instalaci dokončete podle odkazu „Vytvořit databázi“ ve varování. Váš uživatelský účet bude potřebovat oprávnění k vytváření nových databází na serveru.

Přednastavení serveru

Alternativně k povolení libovolného přístupu můžete spustit kontejner PHPMyAdmin s předkonfigurovaným připojením k serveru. Zadejte PMA_HOST a PMA_PORT proměnné prostředí namísto PMA_ARBITRARY :

docker run -d --name phpmyadmin -e PMA_HOST=mysql.example.com -e PMA_PORT=33060 -p 8080:80 phpmyadmin

PMA_PORT je volitelný. Pokud není zadána žádná hodnota, použije výchozí hodnotu MySQL 3306.

Spuštění kontejneru s těmito proměnnými omezí PHPMyAdmin na práci s mysql.example.com server. Na přihlašovací obrazovce budete vyzváni k zadání uživatelského jména a hesla, ale jméno hostitele zadávat nebudete.

PHPMyAdmin lze také nakonfigurovat tak, aby poskytoval více možností serveru. Dodejte PMA_HOSTS a PMA_PORTS jako seznamy připojení oddělených čárkami, abyste tuto funkci povolili.

Použití kontejneru MySQL Docker

Dalším běžným případem použití je připojení k serveru MySQL nebo MariaDB běžícímu v samostatném kontejneru Docker. Databázový server můžete buď vystavit na portu, nebo oba kontejnery připojit ke sdílené síti Docker. V obou případech použijte PMA_HOST a PMA_PORT proměnné prostředí dají PHPMyAdminovi pokyny, jak se připojit k serveru.

Podporovány jsou také starší odkazy Docker:

docker run -d --name phpmyadmin --link my_mysql_container:db -p 8080:80 phpmyadmin

Tento příkaz vám umožní připojit PHPMyAdmin k my_mysql_container kontejner bez ručního nastavování síťových propojení. Tato funkce je v Dockeru zastaralá, takže je vhodnější přepnout na síťové příkazy:

docker network create phpmyadmin
docker network connect phpmyadmin mysql_container_name --ip 172.17.0.1
docker network connect phpmyadmin phpmyadmin_container_name

Alternativně můžete spustit PHPMyAdmin s předkonfigurovaným síťovým připojením pomocí Docker's --network příznak:

docker run -d --name phpmyadmin --network phpmyadmin -p 8080:80 phpmyadmin

Nyní bude PHPMyAdmin schopen dosáhnout kontejneru MySQL prostřednictvím sdílené sítě. Nastavte PMA_HOST proměnná prostředí na 172.17.0.1 při spuštění kontejneru.

Zjednodušení nasazení pomocí Docker Compose

Zápis souboru Docker Compose zjednodušuje netriviální nasazení. Nový kontejner PHPMyAdmin můžete vyvolat opakovatelným způsobem pomocí docker-compose up -d příkaz.

Zde je docker-compose.yml pro PHPMyAdmin v libovolném režimu připojení:

version: "3"

services:
  phpmyadmin:
    image: phpmyadmin:latest
    ports:
        - 8080:80
    environment:
        - PMA_ARBITRARY=1
    restart: unless-stopped

Docker Compose vám také pomůže vytvořit zásobník pomocí nové instalace databáze MySQL a kontejneru PHPMyAdmin:

version: "3"

service:
  mysql:
    image: mysql:latest
    expose:
      - 3306
    environment:
      - MYSQL_ROOT_PASSWORD
    volumes:
      - mysql:/var/lib/mysql
    restart: unless-stopped
  phpmyadmin:
    image: phpmyadmin:latest
    ports:
      - 8080:80
    environment:
      - PMA_HOST: mysql
      - PMA_PASSWORD: ${MYSQL_ROOT_PASSWORD}
    restart: unless-stopped

volumes:
  - mysql

Spusťte docker-compose up -d vyvolat MySQL pomocí plně propojeného kontejneru PHPMyAdmin. PHPMyAdmin PMA_HOST proměnná je nastavena na mysql s odkazem na název služby MySQL. Docker Compose automaticky nastavuje názvy hostitelů tak, aby odpovídaly názvům služeb, což umožňuje PHPMyAdmin připojit se k MySQL pomocí sdílené sítě.

Konfigurace instalace

Obraz PHPMyAdmin Docker podporuje uživatelem dodaný konfigurační soubor, který můžete vložit prostřednictvím svazku Docker. Cesta je /etc/phpmyadmin/config.user.inc.php :

docker run -d 
    --name phpmyadmin 
    -e PMA_ARBITRARY=1 
    -p 8080:80 
    -v my-config-file.php:/etc/phpmyadmin/config.user.inc.php
    phpmyadmin

Můžete přidat kteroukoli z konfiguračních proměnných podporovaných PHPMyAdmin.

Obrázek také podporuje proměnné prostředí pro mnoho běžných nastavení. Patří mezi ně MEMORY_LIMIT , UPLOAD_LIMIT a MAX_EXECUTION_TIME , z nichž každá odpovídá hodnotám PHP INI, které může být nutné upravit, pokud používáte dlouhotrvající nebo složité dotazy.

Citlivé hodnoty, jako je PMA_HOST , PMA_PASSWORD a MYSQL_ROOT_PASSWORD , lze vložit pomocí tajných klíčů Docker namísto proměnných prostého prostředí. Připojte _FILE na název proměnné a poté nastavte hodnotu na cestu uvnitř kontejneru, která poskytuje skutečnou hodnotu.

docker run -d --name phpmyadmin -e PMA_HOST_FILE=/run/secrets/pma_host -p 8080:80 phpmyadmin

Přehled

PHPMyAdmin je jedním z nejpopulárnějších a nejznámějších administračních nástrojů MySQL. Instalace prostého kovu přidá do vašeho systému několik závislostí a spojí Apache a PHP se zdrojovým kódem aplikace.

Instalací PHPMyAdmin do Dockeru získáte izolované prostředí, které lze vytvářet, nahrazovat a odstraňovat pomocí několika příkazů rozhraní CLI Dockeru. Oficiální obraz se může připojit k jakémukoli serveru MySQL, který je přístupný z vašeho hostitele, včetně databází spuštěných v jiných kontejnerech Docker.

Podrobnější pokyny ke spuštění a používání PHPMyAdmin naleznete v oficiální dokumentaci. Obzvláště důležité je prostudovat si průvodce zabezpečením, abyste svou databázi neúmyslně neohrozili externím útokem. Při nasazování PHPMyAdmin uvnitř kontejneru, který je vystaven vnějšímu světu, byste měli také zvážit osvědčené postupy zabezpečení Dockeru.


Docker
  1. Jak spustit MySQL v kontejneru Docker

  2. Jak SSH do kontejneru Docker

  3. Jak nainstalovat Vim do kontejneru Docker

  1. Jak opustit kontejner Docker

  2. Jak poslat signál ke spuštění programu v kontejneru dockeru?

  3. Jak spustit úlohu cron uvnitř kontejneru dockeru

  1. Jak spustit program uvnitř kontejneru Docker?

  2. Jak spustit příkaz na spuštěném kontejneru Docker

  3. Jak přiřadit statickou IP ke kontejneru Docker