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

Cara menginstal WordPress menggunakan Docker

Ringkasan

Pada artikel ini kita akan melalui langkah-langkah cara menginstal WordPress menggunakan Docker. Dengan kata lain, kita akan menginstal WordPress dengan wadah Docker dan juga dengan penulisan Docker. Skenario untuk prosedur berikut akan terlihat sebagai berikut:Singe host machine(satu server debian) dan satu mesin docker berjalan. Kami akan memasang wadah buruh pelabuhan WordPress resmi di host kami dan juga mengatur persistensi data. Metode ini tentu saja akan bekerja pada mesin host linux lainnya selama ia menjalankan mesin buruh pelabuhan.

Persyaratan:

  • Host Linux
  • Docker diinstal dan dijalankan.

Instal Docker

Untuk instalasi docker, kita dapat menggunakan skrip Docker auto-install resmi jika Anda menggunakan Debian, Ubuntu, Raspbian sebagai host. Jika tidak, lihat dokumen Docker atau pos ini.

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Tambahkan buruh pelabuhan ke grup pengguna Anda:

sudo usermod -aG buruh pelabuhan 

Instal WordPress menggunakan wadah Docker

Untuk menginstal wadah buruh pelabuhan WordPress, kita dapat menggunakan perintah berikut:

docker run --name some-wordpress -p 8080:80 -d wordpress

Ini akan menyebarkan satu wadah Docker yang akan menjalankan server web, instalasi WordPress, PHP dan server database MySQL (MariaDB). Opsi ini bukan penerapan yang ideal, sebagian besar karena semua yang ada di dalamnya, bahkan data situs web akan tetap ada dan disimpan di dalam wadah dan setiap kali wadah dimulai ulang, semua data akan hilang. Itulah mengapa harus memiliki data yang persisten untuk WordPress (menyimpan data di host). Untuk penerapan semacam itu, disarankan untuk menjalankan wadah WordPress seperti berikut:

kontainer DB:

docker run -e MYSQL_ROOT_PASSWORD= -e MYSQL_DATABASE=wordpress --name wordpressdb -v "$PWD/database":/var/lib/mysql -d mariadb :latest --restart:unless-stopped

WordPress container:

docker run -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD= --name wordpress --link wordpressdb :mysql -p 80:80 -v "$PWD/html":/var/www/html -d wordpress --restart:unless-stopped

Dalam penerapan semacam ini, kami menggunakan wadah basis data dan wordpress secara terpisah. Memecah perintah:

Penampung DB:

-e: dengan argumen -e kami menetapkan variabel lingkungan yang dalam hal ini adalah kredensial dan parameter basis data (kata sandi dan nama basis data).

–nama: argumen nama adalah bagaimana kita akan menetapkan nama untuk nama wadah database kita.

-v: dengan argumen ini kami menetapkan dan memasang direktori di server host kami di mana wadah akan menyimpan semua data basis data dan bukan di dalam wadah. Parameter ini penting karena ini akan mengatur persistensi data.

-d: dengan argumen ini kita memilih image docker container kita, dalam hal ini kita menggunakan image database mariadb terbaru.

–mulai ulang: Argumen yang akan menginstruksikan daemon Docker untuk me-restart container setiap kali container dihentikan.

Wadah WordPress:

-e: untuk container docker WordPress kita mengatur variabel lingkungan yang juga merupakan parameter container database sehingga WordPress dapat mengakses database.

–nama: juga argumen untuk menetapkan nama wadah wordpress.

–tautan: argumen tautan basis data (untuk mengatur koneksi basis data kami dari Wodpress ke wadah MariaDB).

CATATAN: Mengenai –tautan argumen, Docker mengumumkan ini akan menjadi fitur lawas di masa mendatang dan mungkin akan dihapus di pembaruan Docker di masa mendatang dan itu dapat merusak koneksi wadah basis data Anda. Untuk alasan itu, jika Anda berencana untuk menerapkan jenis ini, lebih baik untuk menggunakan pengaturan WordPress ini dengan komposisi Docker atau sebagai tumpukan di mana WordPress akan bergantung pada jaringan buruh pelabuhan untuk terhubung ke database MariaDB. Ini dibahas dalam bab berikutnya.

-p: Variabel port terbuka. Port mana yang akan ditampilkan pada host dan container agar WordPress dapat diakses secara publik.

 -v: Titik mount pada mesin host tempat kita akan menambahkan direktori dari host dan menyimpan file WordPress – alias persistensi data.

-d: Gambar buruh pelabuhan yang akan kita gunakan.

–mulai ulang: Argumen yang akan menginstruksikan daemon Docker untuk me-restart container setiap kali container dihentikan.

Versi pembuatan Docker

Instal penulisan Docker:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr /local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

sudo ln -s /usr/local/bin/docker -compose /usr/bin/docker-compose

Lihat dokumen buruh pelabuhan untuk rilis penulisan buruh pelabuhan terbaru.

Anda dapat membuat direktori terpisah untuk file penulisan ini dan di dalam direktori untuk membuat file penulisan Docker:

mkdir wordpress &&cd wordpress/

sentuh docker-compose.yml &&nano docker-compose.yml

Anda dapat menggunakan konfigurasi yaml berikut:

version: '3.1'

services:

  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes:
      - wordpress:/var/www/html

  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - db:/var/lib/mysql

volumes:
  wordpress:
  db: 

File konfigurasi sangat mirip dengan baris perintah untuk menyebarkan wadah dari bab sebelumnya.

Sebarkan tumpukan, saat masih berada di direktori file tulis, jalankan perintah:

sudo docker-compose up -d

Ini akan memakan waktu beberapa menit untuk menyelesaikan penyebaran.

Terapkan sebagai tumpukan

Untuk menerapkan WordPress sebagai tumpukan dengan penulisan Docker atau docker, beri nama file konfigurasi sebagai stack.yml dan jalankan perintah berikut:

Docker

docker stack deploy -c stack.yml wordpress

Docker compose

docker-compose -f stack.yml up

Terlepas dari langkah apa yang Anda pilih untuk penerapan, hasil yang berhasil akan terlihat seperti ini: 

Dan setelah Anda dapat mengakses instalasi WordPress melalui browser:

CATATAN: Jika Anda menjalankan firewall UFW atau IPTABLES, Anda perlu membuka port yang tepat (port yang Anda buka untuk mesin host) untuk mengakses WordPress melalui browser:

UFW

sudo ufw allow 8080

IPTABLES

sudo iptables -I INPUT -p tcp -m tcp --dport 8080 -j TERIMA

atau

sudo iptables -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT

Ringkasan

Untuk meringkas artikel – kami menunjukkan langkah-langkah cara menginstal WordPress menggunakan Docker dan juga cara menginstal WordPress menggunakan penulisan Docker. Seperti yang Anda perhatikan, kami memiliki beberapa cara cara delpoy WordPress menggunakan penulisan Docker dan Docker. Tetapi secara keseluruhan, metode yang lebih disukai adalah dengan memiliki wadah terpisah untuk WordPress dan untuk server MariaDB/MySQL. Untuk skalabilitas yang lebih sederhana di masa mendatang dan juga persistensi data adalah suatu keharusan.

Terima kasih atas waktunya…


Docker
  1. Cara Menginstal WordPress Menggunakan Nginx di Ubuntu 18.04

  2. Cara Menginstal Docker menggunakan Ansible [Debian/Ubuntu]

  3. Cara menginstal WordPress menggunakan Docker

  1. Cara Menginstal WordPress dengan Docker di Ubuntu

  2. Cara Menginstal Docker di Debian 9 (Peregangan)

  3. Cara Menginstal Docker di CentOS

  1. Cara Menginstal Docker di Raspberry Pi

  2. Cara Menginstal Vim di Wadah Docker

  3. Instal Docker dan WordPress Di Ubuntu