GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Cara Menjalankan PHPMyAdmin di Wadah Docker

PHPMyAdmin adalah antarmuka administrasi populer untuk database MySQL dan MariaDB. Ini memungkinkan Anda berinteraksi dengan skema, tabel, dan data menggunakan browser web.

Proyek ini memiliki gambar Docker resmi yang menyederhanakan penerapan di lingkungan kemas. Berikut cara menggunakan gambar untuk menjalankan instance PHPMyAdmin baru dengan cepat.

Penggunaan Dasar

Instalasi paling sederhana memungkinkan wadah PHPMyAdmin terhubung ke server database mana pun yang dapat diakses:

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

Perintah ini memulai PHPMyAdmin pada port 8080. Kunjungi localhost:8080 di browser Anda untuk melihat layar login. Kehadiran PMA_ARBITRARY variabel lingkungan menghasilkan formulir koneksi server yang ditampilkan. Tentukan host dan kredensial pengguna database MySQL atau MariaDB Anda untuk login.

Saat Anda menggunakan metode ini, Anda biasanya akan melihat peringatan PHPMyAdmin bahwa "beberapa fitur tambahan telah dinonaktifkan." Ini terjadi ketika server yang Anda sambungkan tidak memiliki database bernama phpmyadmin . PHPMyAdmin menggunakan skema ini untuk menyimpan data konfigurasinya sendiri.

Ikuti tautan peringatan ke "Buat database" untuk menyelesaikan instalasi. Akun pengguna Anda memerlukan izin untuk membuat database baru di server.

Mereset Server

Sebagai alternatif untuk mengizinkan akses arbitrer, Anda dapat memulai wadah PHPMyAdmin dengan koneksi server yang telah dikonfigurasi sebelumnya. Berikan PMA_HOST dan PMA_PORT variabel lingkungan alih-alih PMA_ARBITRARY :

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

PMA_PORT adalah opsional. Ini akan menggunakan default MySQL 3306 ketika tidak ada nilai yang diberikan.

Memulai penampung dengan variabel-variabel ini akan membatasi PHPMyAdmin untuk bekerja dengan mysql.example.com server. Anda akan dimintai nama pengguna dan sandi di layar login, tetapi Anda tidak perlu memberikan nama host.

PHPMyAdmin juga dapat dikonfigurasi untuk menyajikan beberapa opsi server. Sediakan PMA_HOSTS dan PMA_PORTS sebagai daftar koneksi yang dipisahkan koma untuk mengaktifkan fungsi ini.

Menggunakan Kontainer Docker MySQL

Kasus penggunaan umum lainnya adalah menghubungkan ke server MySQL atau MariaDB yang berjalan di wadah Docker terpisah. Anda dapat mengekspos server database pada port atau menghubungkan kedua kontainer ke jaringan Docker bersama. Dalam kedua kasus, gunakan PMA_HOST dan PMA_PORT variabel lingkungan akan menginstruksikan PHPMyAdmin cara terhubung ke server.

Tautan Docker lawas juga didukung:

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

Perintah ini memungkinkan Anda menghubungkan PHPMyAdmin ke my_mysql_container wadah tanpa mengatur tautan jaringan secara manual. Fungsionalitas ini tidak digunakan lagi di Docker, jadi beralih ke perintah jaringan lebih disukai:

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

Sebagai alternatif, Anda dapat memulai PHPMyAdmin dengan koneksi jaringan yang telah dikonfigurasi sebelumnya menggunakan --network Docker bendera:

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

Sekarang PHPMyAdmin akan dapat mencapai wadah MySQL melalui jaringan bersama. Setel PMA_HOST variabel lingkungan ke 172.17.0.1 saat Anda memulai penampung.

Menyederhanakan Deployment Dengan Docker Compose

Menulis file Docker Compose menyederhanakan penerapan non-sepele. Anda dapat memunculkan wadah PHPMyAdmin baru secara berulang menggunakan docker-compose up -d perintah.

Berikut adalah docker-compose.yml untuk PHPMyAdmin dalam mode koneksi arbitrer:

version: "3"

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

Docker Compose juga membantu Anda membuat tumpukan dengan instalasi database MySQL baru dan wadah 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

Jalankan docker-compose up -d untuk membuka MySQL dengan wadah PHPMyAdmin berjaringan penuh. PMA_HOST PHPMyAdmin variabel diatur ke mysql , merujuk nama layanan MySQL. Docker Compose secara otomatis menyetel nama host agar sesuai dengan nama layanan, memungkinkan PHPMyAdmin terhubung ke MySQL menggunakan jaringan bersama.

Mengonfigurasi Instalasi

Gambar Docker PHPMyAdmin mendukung file konfigurasi yang disediakan pengguna yang dapat Anda masukkan melalui volume Docker. Jalurnya adalah /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

Anda dapat menambahkan variabel konfigurasi apa pun yang didukung oleh PHPMyAdmin.

Gambar juga mendukung variabel lingkungan untuk banyak pengaturan umum. Ini termasuk MEMORY_LIMIT , UPLOAD_LIMIT dan MAX_EXECUTION_TIME , yang masing-masing sesuai dengan nilai PHP INI yang mungkin perlu disesuaikan jika Anda menggunakan kueri yang berjalan lama atau rumit.

Nilai sensitif, seperti PMA_HOST , PMA_PASSWORD , dan MYSQL_ROOT_PASSWORD , dapat disuntikkan menggunakan rahasia Docker alih-alih variabel lingkungan biasa. Tambahkan _FILE ke nama variabel, lalu atur nilainya ke jalur di dalam penampung yang memberikan nilai sebenarnya.

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

Ringkasan

PHPMyAdmin adalah salah satu utilitas administrasi MySQL yang paling populer dan paling terkenal. Instalasi bare-metal menambahkan beberapa dependensi ke sistem Anda, menggabungkan Apache dan PHP di samping kode sumber aplikasi.

Menginstal PHPMyAdmin di Docker memberi Anda lingkungan terisolasi yang dapat dibuat, diganti, dan dihapus menggunakan beberapa perintah Docker CLI. Gambar resmi dapat terhubung ke server MySQL apa pun yang dapat diakses dari host Anda, termasuk database yang berjalan di wadah Docker lainnya.

Panduan lebih rinci tentang menjalankan dan menggunakan PHPMyAdmin dapat ditemukan di dokumentasi resmi. Sangat penting untuk meninjau panduan keamanan sehingga Anda tidak secara tidak sengaja meninggalkan database Anda dengan risiko serangan eksternal. Anda juga harus mempertimbangkan praktik terbaik keamanan Docker saat menerapkan PHPMyAdmin di dalam wadah yang terbuka ke dunia luar.


Docker
  1. Bagaimana Cara Menjalankan Program Di Dalam Wadah Docker?

  2. Cara Menginstal Vim di Wadah Docker

  3. Bagaimana cara mengirim sinyal ke program yang dijalankan dalam wadah buruh pelabuhan?

  1. Cara Menjalankan MySQL Dalam Wadah Docker

  2. Cara SSH Ke Wadah Docker

  3. Cara Menjalankan Perintah di Running Docker Container

  1. Cara Menetapkan IP Statis ke Wadah Docker

  2. Cara Mendaftar Kontainer Docker

  3. Cara Keluar dari Kontainer Docker