LoginSignup
0

More than 1 year has passed since last update.

posted at

updated at

用 Docker Compose 快速生成一個 WordPress 網站(筆記,無細節說明)

根據這個頁面嘗試

https://docs.docker.com/compose/wordpress/#define-the-project

環境

  • macOS 10.14
  • Docker version 18.09.0
  • iTerm

手順

  1. 建立資料夾
  2. docker-compose.yml
  3. 執行
  4. 停止執行
  5. 更新 WordPress
  6. 清除 Volume

建立資料夾

在這裡檔案名稱就先用 wordpress

// 在終端機
mkdir wordpress
cd wordpress

docker-compose.yml

因為會需要用到多個服務,
所以用 Docker Compose 會比較好
因此先在根目錄新增 docker-compose.yml 這個檔案之後
加入以下的內容

version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
volumes:
    db_data:

執行

docker-compose up -d

還沒有安裝過的話就會需要等他下載映像檔和配置資料庫,
成功安裝之後,就可以透過 http://localhost:8000 這個網址來存取剛裝好的 WordPress

就會看到像是這樣的畫面,也就是 WordPress 的初始畫面

image.png

剛安裝好之後直接存取 http://localhost:8000 可能不會直接有頁面,我的情況需要等幾秒鐘,瀏覽器才會自動重新整理出現這個畫面。

停止執行

要停止 wordpress 和資料庫的服務的話可以透過這個指令停止即可

docker-composer down

更新 WordPress

透過 Docker 安裝的 WordPress 在更新的時候,會有無資料夾權限的問題
因此勢必要透過 Docker 的指令來更新。

更新的時候請先把 Docker 停止執行

docker-composer down

接著再進行這樣的指令,先請 Docker Compose先去拉看看有沒有新的映像檔版本,再來執行:

docker-compose pull && docker-compose up -d

清除 Volume

停止執行之後,期望把資料庫的容器(db_data)清除掉的話
可以先以這個指令來確認有哪些容器

docker volume ls -q

找到前綴是資料夾名稱,後半是 db_data 的容器實體
以這邊的範例來說的話,就是這個:

wordpress_db_data

所以在清除的時候可以下這個指令就可以清除了

docker volume rm wordpress_db_data

如果沒有其他容器的話,也可以這樣刪除

docker volume rm $(docker volume ls -q)

這樣就完整清除了。

結語

以上,這樣就可以快速的透過 docker compose 生成 WordPress 來用了! :tada:

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0