根據這個頁面嘗試
https://docs.docker.com/compose/wordpress/#define-the-project
環境
- macOS 10.14
- Docker version 18.09.0
- iTerm
手順
- 建立資料夾
- 寫
docker-compose.yml
- 執行
- 停止執行
- 更新 WordPress
- 清除 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 的初始畫面
剛安裝好之後直接存取 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 來用了!