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 upTerlepas 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 ACCEPTRingkasan
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