---
title: "Bắt đầu một trang web sử dụng wordpress và docker"
description: "Có nhiều cách để bạn có thể chạy wordpress như sử dụng XMAPP. Nhưng hôm nay mình sẽ hướng dẫn các bạn sử dụng docker để chạy wordpress."
date: "2021-07-29"
author:
  name: "Nguyen Pham"
  role: "Xin chào. Mình thích lập trình và công nghệ. Đây là blog mình chia sẻ lại các kiến thức về lập trình, công nghệ."
  avatar: "http://0.gravatar.com/avatar/6fb61398e24046b34e13870dd6c357b9?s=128&d=mm&r=g"
category: "Programming"
tags: ["Programming", "docker", "docker-compose", "mysql", "wordpres"]
coverImage: "/blog/covers/bat-dau-mot-trang-web-su-dung-wordpress-va-docker.png"
featured: false
readingTime: "3 min read"
---

Có nhiều cách để bạn có thể chạy wordpress như sử dụng XMAPP. Nhưng hôm nay mình sẽ hướng dẫn các bạn sử dụng docker để chạy wordpress.

**Docker** là một nền tảng để cung cấp cách để building, deploying và running ứng dụng dễ dàng hơn bằng cách sử dụng các containers (trên nền tảng ảo hóa). Ban đầu viết bằng Python, hiện tại đã chuyển sang Golang

**WordPress** là một Hệ quản trị nội dung Mã nguồn mở miễn phí viết bằng ngôn ngữ lập trình PHP cùng với cơ sở dữ liệu MySQL.

Hôm nay chúng ta sẽ chạy một trang web wordpress bằng docker. Trước khi bắt đầu hay chắc chắn rằng bạn đã cài `docke`r và `docker-compose`

```
$ docker -v
Docker version 20.10.7, build f0df350
$ docker-compose version
Docker Compose version v2.0.0-beta.6
```

Bắt đầu với một thư mục mới và mở nó bằng `vscode`và bắt đầu code.

Chúng ta sẽ tạo thêm thư mục `db` để chứa dữ liệu mysql. và `wp` để chứa code wordpress. Chúng ta có thể sử dụng `volume` nhưng chúng ta cần chỉnh sửa code nên sẽ sử dụng như trên.

`docker-compose.yml`

```
version: '3.1'
services:
  wordpress:
    depends_on: 
       - db
    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:
      - ./wp:/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
  adminer:
    image: adminer
    restart: always
    ports:
    - 8081:8080
```

Ở đây chúng ta có 3 service:

- `wordpress` chạy ở cổng 8080 của host.
- `db` chạy cở sở dữ liệu MySQL
- `adminer` cái này để xem dữ liệu trong MySQL. có thể bỏ nếu bạn không cần.

Để chạy chúng ta chạy lênh:

```
docker-compose up
```

Tiến hành cài wordpress. Vào url `localhost:8080`

![](https://2k1.org/wp-content/uploads/2021/07/image-1024x560.png)

Trang web sau khi cài đặt hoàn thành.

Thư mục trong vscode.

![](https://2k1.org/wp-content/uploads/2021/07/image-1-1024x561.png)

Tham khảo:

- <https://hub.docker.com/_/wordpress>
