Cách cài đặt WordPress với Docker Compose

theanh

Administrator
Nhân viên
WordPress CMS (Hệ thống quản lý nội dung) là một nền tảng mã nguồn mở được sử dụng rộng rãi cho phép người dùng tạo, quản lý và xuất bản nội dung kỹ thuật số, chủ yếu cho các trang web và blog. Ban đầu được phát hành vào năm 2003, WordPress đã phát triển thành CMS phổ biến nhất thế giới, cung cấp năng lượng cho hơn 40% tất cả các trang web trên internet. Nó cung cấp một giao diện thân thiện với người dùng cho phép những cá nhân có ít hoặc không có kinh nghiệm viết mã xây dựng và duy trì các trang web chất lượng chuyên nghiệp. WordPress có khả năng tùy chỉnh cao, với hàng nghìn chủ đề và plugin có sẵn để mở rộng chức năng của nó, đáp ứng nhiều nhu cầu khác nhau từ các blog đơn giản đến các trang thương mại điện tử phức tạp. Hỗ trợ cộng đồng mạnh mẽ, các bản cập nhật thường xuyên và tài liệu hướng dẫn mở rộng của nó làm cho nó trở thành một lựa chọn đáng tin cậy và linh hoạt cho cả người mới bắt đầu và các nhà phát triển có kinh nghiệm.

Docker là một nền tảng mã nguồn mở được thiết kế để tự động triển khai, mở rộng quy mô và quản lý các ứng dụng trong các vùng chứa nhẹ, di động. Được giới thiệu vào năm 2013, Docker đã cách mạng hóa quá trình phát triển phần mềm bằng cách cung cấp một môi trường nhất quán để các ứng dụng chạy bất kể chúng được triển khai ở đâu, có thể là trên máy cục bộ của nhà phát triển, trung tâm dữ liệu tại chỗ hoặc trên đám mây. Các container đóng gói một ứng dụng với tất cả các phụ thuộc, thư viện và tệp cấu hình của nó, đảm bảo hiệu suất nhất quán trên các môi trường khác nhau. Việc đóng gói này đơn giản hóa quy trình phát triển, tăng cường sự cộng tác và tăng hiệu quả bằng cách cho phép các nhà phát triển tạo, chia sẻ và chạy các ứng dụng một cách liền mạch. Hệ sinh thái của Docker bao gồm các công cụ và dịch vụ để điều phối container, chẳng hạn như Docker Swarm và Kubernetes, giúp quản lý các triển khai container quy mô lớn dễ dàng hơn, biến nó thành công nghệ nền tảng trong các hoạt động DevOps hiện đại.

Hướng dẫn này sẽ hướng dẫn bạn cách cài đặt WordPress bằng Docker/Docker Compose. Khi sử dụng Docker, quá trình cài đặt ngăn xếp ưa thích trở nên dễ dàng hơn rất nhiều. Bạn có thể sử dụng cùng một cấu hình để cài đặt WordPress nhanh chóng trên nhiều máy chủ. Chúng tôi cũng sẽ cài đặt công cụ phpMyAdmin để quản lý cơ sở dữ liệu cùng với máy chủ proxy Nginx để phục vụ trang web thông qua SSL.

Điều kiện tiên quyết​


  • Một máy chủ Linux có người dùng không phải root có quyền sudo. Chúng tôi đang sử dụng máy chủ chạy Ubuntu 24.04 cho hướng dẫn của mình.

  • Một tên miền đủ điều kiện (FQDN) trỏ đến máy chủ của bạn. Đối với mục đích của chúng tôi, chúng tôi sẽ sử dụng example.com làm tên miền cho trang web WordPress và phpmyadmin.example.com cho trang web phpMyAdmin.

  • Đảm bảo mọi thứ đều đã cập nhật.
Mã:
$ sudo apt update
[*]
Cài đặt các gói tiện ích cơ bản. Một số trong số chúng có thể đã được cài đặt.
Mã:
$ sudo apt install wget curl nano software-properties-common dirmngr apt-transport-https gnupg gnupg2 ca-certificates lsb-release ubuntu-keyring unzip -y

Bước 1 - Cấu hình Tường lửa​

Bước đầu tiên là cấu hình tường lửa. Ubuntu đi kèm với ufw (Uncomplicated Firewall) theo mặc định.

Kiểm tra xem tường lửa có đang chạy không.
Mã:
$ sudo ufw status
Bạn sẽ nhận được kết quả sau.
Mã:
Status: inactive
Cho phép cổng SSH để tường lửa không làm gián đoạn kết nối hiện tại khi bật nó.
Mã:
$ sudo ufw allow OpenSSH
Cho phép cả cổng HTTP và HTTPS.
Mã:
$ sudo ufw allow http
$ sudo ufw allow https
Kích hoạt Tường lửa
Mã:
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
Kiểm tra lại trạng thái của tường lửa.
Mã:
$ sudo ufw status
Bạn sẽ thấy trạng thái tương tự đầu ra.
Mã:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)

Bước 2 - Cài đặt Docker và Docker Compose​

Ubuntu 22.04 đi kèm với phiên bản Docker cũ hơn. Để cài đặt phiên bản mới nhất, trước tiên, hãy nhập khóa GPG của Docker.
Mã:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
Tạo tệp kho lưu trữ Docker.
Mã:
$ echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Cập nhật danh sách kho lưu trữ hệ thống.
Mã:
$ sudo apt update
Cài đặt phiên bản Docker mới nhất.
Mã:
$ sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Xác minh rằng đó là đang chạy.
Mã:
$ sudo systemctl status docker
? docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2024-07-19 17:11:19 UTC; 3s ago
TriggeredBy: ? docker.socket Docs: https://docs.docker.com Main PID: 1163 (dockerd) Tasks: 7 Memory: 21.9M CPU: 221ms CGroup: /system.slice/docker.service ??2803 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Theo mặc định, Docker yêu cầu quyền root. Nếu bạn muốn tránh sử dụng sudo mỗi khi bạn chạy lệnh docker, hãy thêm tên người dùng của bạn vào docker nhóm.
Mã:
$ sudo usermod -aG docker $(whoami)
Bạn sẽ cần phải đăng xuất khỏi máy chủ và đăng nhập lại với cùng một người dùng để kích hoạt thay đổi này hoặc sử dụng lệnh sau lệnh.
Mã:
$ su - ${USER}
Xác nhận rằng người dùng của bạn đã được thêm vào nhóm Docker.
Mã:
$ groups
navjot wheel docker

Bước 3 - Tạo tệp Docker Compose cho WordPress​

Tôi sẽ thực hiện toàn bộ cài đặt Docker WordPress trong /opt. Bạn có thể chọn một vị trí khác như /var hoặc /home để phù hợp với nhu cầu của mình.
Mã:
cd /opt
Tạo một thư mục để cấu hình WordPress.
Mã:
$ mkdir wordpress
Chuyển sang thư mục.
Mã:
$ cd wordpress
Tạo và mở tệp Docker compose để chỉnh sửa.
Mã:
$ nano docker-compose.yml
Dán mã sau vào it.
Mã:
services: wp: image: wordpress:latest container_name: wordpress-app restart: unless-stopped expose: - 8080 volumes: - ./config/php.conf.ini:/usr/local/etc/php/conf.d/conf.ini - ./wp-app:/var/www/html #- ./plugin-name/trunk/:/var/www/html/wp-content/plugins/plugin-name # Plugin development #- ./theme-name/trunk/:/var/www/html/wp-content/themes/theme-name # Theme development environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_NAME: "${DB_NAME}" WORDPRESS_DB_USER: "${DB_USER_NAME}" WORDPRESS_DB_PASSWORD: "${DB_USER_PASSWORD}" VIRTUAL_HOST: example.com LETSENCRYPT_HOST: example.com depends_on: - db links: - db wpcli: image: wordpress:cli container_name: wpcli_app volumes: - ./config/php.conf.ini:/usr/local/etc/php/conf.d/conf.ini - ./wp-app:/var/www/html environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_NAME: "${DB_NAME}" WORDPRESS_DB_USER: "${DB_USER_NAME}" WORDPRESS_DB_PASSWORD: "${DB_USER_PASSWORD}" depends_on: - db - wp pma: image: phpmyadmin/phpmyadmin container_name: pma restart: unless-stopped environment: # https://docs.phpmyadmin.net/en/latest/setup.html#docker-environment-variables PMA_HOST: db PMA_PORT: 3306 MYSQL_ROOT_PASSWORD: "${DB_ROOT_PASSWORD}" UPLOAD_LIMIT: 50M VIRTUAL_HOST: phpmyadmin.example.com LETSENCRYPT_HOST: phpmyadmin.example.com expose: - 8081 links: - db:db db: image: mysql:latest container_name: wordpressdb restart: unless-stopped command: [ '--default_authentication_plugin=mysql_native_password', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci' ] volumes: - ./wp-data:/docker-entrypoint-initdb.d - db_data:/var/lib/mysql environment: MYSQL_DATABASE: "${DB_NAME}" MYSQL_ROOT_PASSWORD: "${DB_ROOT_PASSWORD}" MYSQL_USER: "${DB_USER_NAME}" MYSQL_PASSWORD: "${DB_USER_PASSWORD}"
volumes: db_data:
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Có hai hình ảnh WordPress mà chúng tôi đang kéo. Một dành cho trang web và một dành cho công cụ WP-CLI. Cả hai hình ảnh đều phụ thuộc vào hình ảnh docker MySQL 8.0. Ở đây, chúng tôi đặt các biến môi trường cho thông tin xác thực Cơ sở dữ liệu. Chúng tôi đã tạo hai khối lượng cho cả hai vùng chứa, một trong số đó trỏ đến các tệp công khai cho trang web WordPress và khối lượng thứ hai trỏ đến vị trí PHP.ini tùy chỉnh. Chúng tôi cũng đã định nghĩa các biến môi trường cho miền máy chủ ảo Nginx và miền Let's encrypt SSL cho trang WordPress.

Bạn có thể thêm nhiều biến môi trường hơn và thêm dữ liệu wp-config.php tùy chỉnh vào tệp Docker. Bạn có thể tìm hiểu về các biến môi trường bổ sung từ trang WordPress DockerHub.

Hình ảnh tiếp theo dành cho phpMyAdmin, tùy thuộc vào cùng một hình ảnh MySQL và kết nối nó bằng mật khẩu gốc. Nó có giới hạn tải lên là 50MB. Bạn có thể thay đổi tùy theo yêu cầu và kích thước cơ sở dữ liệu của mình. Tương tự như trang WordPress, chúng tôi đã xác định tên miền máy chủ ảo Nginx và Let's encrypt SSL cho tên miền phpMyAdmin.

Hình ảnh cuối cùng dành cho cơ sở dữ liệu MySQL. Chúng tôi đã truyền một số lệnh vào đó để đặt phương thức xác thực mặc định và bộ ký tự. Chúng tôi cũng đã tạo một vài ổ đĩa để lưu trữ dữ liệu và thiết lập các biến môi trường cho thông tin xác thực cơ sở dữ liệu.

Bước tiếp theo là tạo tệp môi trường cho các biến được sử dụng trong tệp compose. Tạo và mở tệp môi trường để chỉnh sửa.
Mã:
$ sudo nano .env
Dán mã sau vào đó.
Mã:
DB_NAME=wordpress
DB_USER_NAME=username
DB_USER_PASSWORD=userpassword
DB_ROOT_PASSWORD=password
Bạn có thể lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc. Thay thế các biến bằng tên người dùng và mật khẩu theo lựa chọn của bạn.

Bạn có thể tùy chỉnh cấu hình PHP bằng tệp php.ini tùy chỉnh.

Tạo một thư mục để cấu hình PHP.
Mã:
$ mkdir config
Tạo và mở tệp php.conf.ini cho chỉnh sửa.
Mã:
$ nano config/php.conf.ini
Dán mã sau vào đó. Điều chỉnh các giá trị theo yêu cầu của bạn. Giới hạn tải lên cho vùng chứa PhpMyadmin không phụ thuộc vào các giá trị bạn sử dụng trong tệp này.
Mã:
file_uploads = On
memory_limit = 500M
upload_max_filesize = 30M
post_max_size = 30M
max_execution_time = 600
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Bước 4 - Cập nhật Docker Compose cho Nginx​

Tạo thư mục cho Nginx cấu hình.
Mã:
$ mkdir nginx
Tạo một thư mục cho Máy chủ ảo bên trong thư mục đó.
Mã:
$ mkdir nginx/vhost
Tạo và mở nginx/vhost/wordpress.example.com để chỉnh sửa.
Mã:
$ nano nginx/vhost/wordpress.example.com
Dán mã sau vào nó.
Mã:
server_tokens off;
client_max_body_size 30m;
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Thực hiện tương tự với nginx/vhost/phpmyadmin.example.com file.
Mã:
$ nano nginx/vhost/phpmyadmin.example.com
Dán mã sau vào đó.
Mã:
server_tokens off;
client_max_body_size 50m;
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Mở tệp docker compose một lần nữa.
Mã:
$ nano docker-compose.yml
Dán đoạn mã sau trước volumes: db_data: dòng.
Mã:
nginx: container_name: nginx image: nginxproxy/nginx-proxy restart: unless-stopped ports: - 80:80 - 443:443 volumes: - /var/run/docker.sock:/tmp/docker.sock:ro - ./nginx/html:/usr/share/nginx/html - ./nginx/certs:/etc/nginx/certs - ./nginx/vhost:/etc/nginx/vhost.d logging: options: max-size: "10m" max-file: "3"
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Trong mã trên, chúng tôi kéo hình ảnh Nginx proxy Docker và hiển thị các cổng 80 và 443 cho vùng chứa máy chủ, sẽ được sử dụng để kết nối với thế giới bên ngoài. Chúng tôi cũng đã tạo các khối lượng cho trang HTML Nginx, một thư mục nơi tất cả các chứng chỉ SSL sẽ được lưu trữ và thư mục cho các máy chủ ảo, mà chúng tôi đã sử dụng ở trên để thêm cấu hình Nginx bổ sung. Chúng tôi đã định cấu hình kích thước tải tệp lên cho các trang WordPress và phpMyAdmin. Tên miền của trang web được chọn từ các biến môi trường mà chúng ta đã xác định ở bước trước.

Bước 5 - Cập nhật Docker Compose cho SSL​

Mở tệp docker compose để chỉnh sửa.
Mã:
$ nano docker-compose.yml
Dán đoạn mã sau trước volumes: db_data: dòng.
Mã:
acme-companion: container_name: acme-companion image: nginxproxy/acme-companion restart: unless-stopped volumes_from: - nginx volumes: - /var/run/docker.sock:/var/run/docker.sock - ./nginx/acme:/etc/acme.sh environment: DEFAULT_EMAIL: [emailprotected]
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Tại đây, chúng tôi đang kéo hình ảnh Acme companion Docker, hoạt động với proxy Nginx. Nó kéo các khối lượng từ vùng chứa Nginx. Chúng tôi cũng định nghĩa một khối lượng cho công cụacme.sh, lưu trữ tất cả cấu hình liên quan đến Let's Encrypt SSL. Cuối cùng, chúng tôi định nghĩa một biến môi trường để đăng ký chứng chỉ SSL với Let's Encrypt.

Bước 6 - Khởi động và cài đặt WordPress​

Bây giờ tất cả các tệp cấu hình của chúng tôi đã hoàn tất, đã đến lúc khởi động và khởi chạy các vùng chứa.
Mã:
$ docker compose up -d
Chờ vài phút và kiểm tra trạng thái của container.
Mã:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c1e8a9b5169d nginxproxy/acme-companion "/bin/bash /app/entr…" 14 seconds ago Up 7 seconds acme-companion
8a37c78ff790 wordpress:latest "docker-entrypoint.s…" 14 seconds ago Up 7 seconds 80/tcp, 8080/tcp wordpress-app
4f9c777c97c2 phpmyadmin/phpmyadmin "/docker-entrypoint.…" 14 seconds ago Up 7 seconds 80/tcp, 8081/tcp pma
1b1dede46b07 nginxproxy/nginx-proxy "/app/docker-entrypo…" 14 seconds ago Up 11 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp nginx
b9cf64a2f4a3 mysql:latest "docker-entrypoint.s…" 14 seconds ago Up 11 seconds 3306/tcp, 33060/tcp wordpressdb
Mở URL https://example.com để bắt đầu trình cài đặt WordPress.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22368%22%20height=%22700%22%3E%3C/svg%3E


Chọn ngôn ngữ của bạn và nhấp vào nút Tiếp tục để chuyển sang trang tiếp theo.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22683%22%20height=%22750%22%3E%3C/svg%3E


Điền thông tin chi tiết về trang web, chọn tên người dùng, mật khẩu và địa chỉ email của bạn rồi nhấp vào Cài đặt Nút WordPress để bắt đầu cài đặt.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22432%22%3E%3C/svg%3E


Bạn sẽ được đưa đến trang cài đặt thành công. Nhấp vào nút Đăng nhập để đưa bạn đến trang đăng nhập.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22353%22%20height=%22481%22%3E%3C/svg%3E


Nhập thông tin đăng nhập của bạn và nhấp vào nút Đăng nhập để mở bảng điều khiển WordPress.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22421%22%3E%3C/svg%3E


Bạn có thể bắt đầu sử dụng WordPress ngay bây giờ.

Bước 7 - Truy cập PhpMyAdmin​

Bạn có thể truy cập phpMyAdmin qua URL https://phpmyadmin.example.com.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22430%22%20height=%22484%22%3E%3C/svg%3E


Nhập root làm tên người dùng và mật khẩu gốc, sau đó nhấp vào Đăng nhập để mở bảng điều khiển.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22421%22%3E%3C/svg%3E


Bạn có thể bắt đầu sử dụng phpMyAdmin ngay bây giờ.

Bước 8 - Truy cập WP-CLI​

Bạn có thể truy cập WP-CLI bằng lệnh sau.
Mã:
$ docker compose run --rm wpcli cli version
Bạn sẽ nhận được thông báo sau đầu ra.
Mã:
[+] Running 2/0 ? Container wordpressdb Running 0.0s ? Container wordpress-app Running 0.0s
WP-CLI 2.7.1
Để tránh phải nhập lệnh dài như vậy mỗi lần, chúng ta có thể sử dụng tính năng alias của Linux.
Mã:
$ alias wp="docker compose -f ~/wordpress/docker-compose.yml run --rm wpcli"
Bây giờ bạn có thể nhập lệnh sau từ bất kỳ đâu trong container.
Mã:
$ wp cli version
Các alias trong Linux là tạm thời. Để làm cho alias trở thành vĩnh viễn, bạn cần chỉnh sửa tệp ~/.bashrc. Mở tệp để chỉnh sửa.
Mã:
$ nano ~/.bashrc
Dán dòng sau vào cuối tệp.
Mã:
# Custom aliases
alias wp="docker compose -f ~/wordpress/docker-compose.yml run --rm wpcli"
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Nguồn tệp để tải lại cấu hình.
Mã:
$ source ~/.bashrc
Bạn có thể bắt đầu sử dụng WP-CLI.

Bước 9 - Sao lưu WordPress​

Có một số cách để sao lưu WordPress. Cách dễ nhất là sử dụng plugin. Có một số plugin có sẵn cho việc đó. Bạn cũng có thể sử dụng phpMyAdmin để tạo bản sao lưu.

Bạn cũng có thể sử dụng dòng lệnh để sao lưu cơ sở dữ liệu WordPress. Chuyển đến thư mục WordPress.
Mã:
$ cd ~/wordpress
Sử dụng lệnh sau để sao lưu cơ sở dữ liệu WordPress. Bạn sẽ được yêu cầu nhập mật khẩu root MySQL.
Mã:
$ docker compose exec db sh -c "exec mysqldump wordpress -uroot -p" | sudo tee wp-data/data_`date +%d-%m-%Y"_"%H_%M_%S`.sql >/dev/null
Enter password: password
Lệnh trên sẽ tạo bản sao lưu SQL trong thư mục ~/wordpress/wp-data.

Kiểm tra thư mục nội dung.
Mã:
$ ls -al wp-data
total 908
drwxr-xr-x 2 root root 4096 Jan 11 10:15 ./
drwxrwxr-x 6 navjot navjot 4096 Jan 11 10:05 ../
-rw-r--r-- 1 root root 919814 Jan 11 10:14 data_11-01-2023_10_14_40.sql
Bạn có thể thấy cơ sở dữ liệu được sao lưu trong thư mục. Bạn có thể khôi phục cơ sở dữ liệu này bằng công cụ phpMyAdmin hoặc bằng lệnh sau.
Mã:
$ docker compose exec db sh -c "exec mysql -uroot -p" < wp-data/data_11-01-2023_10_14_40.sql
Bạn có thể tạo một công việc cron để sao lưu cơ sở dữ liệu thường xuyên.

Tạo tập lệnh sao lưu trong thư mục /etc/cron.daily và mở nó để chỉnh sửa.
Mã:
$ sudo nano /etc/cron.daily/wpbackup.sh
Dán mã sau vào đó.
Mã:
#!/bin/bash
docker compose exec db sh -c "exec mysqldump wordpress -uroot -p" | tee wp-data/data_`date +%d-%m-%Y"_"%H_%M_%S`.sql >/dev/null
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Tạo tập lệnh có thể thực thi.
Mã:
$ sudo chmod +x /etc/cron.daily/wpbackup.sh
Bây giờ, cơ sở dữ liệu của bạn sẽ được sao lưu hàng ngày.

Bước 10 - Nâng cấp WordPress​

Cách dễ nhất để nâng cấp WordPress là sử dụng trình cập nhật tích hợp. Bạn cũng có thể nâng cấp bằng Docker. Bước đầu tiên là sao lưu cơ sở dữ liệu WordPress bằng lệnh từ bước 9.

Sau đó, chuyển sang thư mục.
Mã:
$ cd ~/wordpress
Dừng Container.
Mã:
$ docker compose down --remove-orphans
Kéo container mới nhất hình ảnh.
Mã:
$ docker compose pull
Thực hiện bất kỳ thay đổi nào trong docker-compose.yml nếu bạn muốn.

Khởi động lại WordPress container.
Mã:
$ docker compose up -d

Kết luận​

Đây là phần kết thúc hướng dẫn cài đặt WordPress bằng Docker Compose, phpMyAdmin và WP-CLI. Nếu bạn có bất kỳ câu hỏi nào, hãy đăng chúng trong phần bình luận bên dưới.
 
Back
Bên trên