docker-compose來快速建置wordpress

以docker-compose.yml來建置wordpress服務於8031 port,並且加上 phpMyAdmin,讓你用瀏覽器管理同一個 MySQL。WordPress 仍然以 8031 對外,phpMyAdmin 另外用 8032

version: '3.9'

services:
  wordpress:
    image: wordpress:latest
    container_name: wordpress_site
    ports:
      - "8031:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wpuser
      WORDPRESS_DB_PASSWORD: wppassword
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wordpress_data:/var/www/html
    depends_on:
      - db
    restart: always

  db:
    image: mysql:5.7
    container_name: wordpress_db
    environment:
      MYSQL_ROOT_PASSWORD: rootpassword
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wpuser
      MYSQL_PASSWORD: wppassword
    volumes:
      - db_data:/var/lib/mysql
    restart: always

  phpmyadmin:
    image: phpmyadmin:latest
    container_name: wp_phpmyadmin
    depends_on:
      - db
    environment:
      PMA_HOST: db
      PMA_PORT: 3306
      PMA_USER: root
      PMA_PASSWORD: rootpassword
      UPLOAD_LIMIT: 512M
    ports:
      - "8032:80"
    restart: always

volumes:
  wordpress_data:
  db_data:

使用方式

  1. 將上面內容存成 docker-compose.yml
  2. 啟動: docker-compose up -d
  3. 開啟:
    • WordPress:http://localhost:8031
    • phpMyAdmin:http://localhost:8032(使用 root / rootpasswordwpuser / wppassword 登入)

建議:上線前把 rootpassword / wppassword 換成強密碼;若要改用 MariaDB 也可以把 db 的 image 換成 mariadb:10.11,其餘設定相同。

Ubuntu 24.04 上自動安裝 Docker CE 與 docker-compose

可以用以下 Bash 腳本,在 Ubuntu 24.04 上自動安裝 Docker CEdocker-compose(最新版 Compose Plugin)。
這個腳本會自動處理官方 Docker GPG Key、套件庫設定,以及安裝與啟動服務。

#!/bin/bash
set -e

echo "=== 更新套件列表 ==="
sudo apt-get update -y
sudo apt-get upgrade -y

echo "=== 安裝必要套件 ==="
sudo apt-get install -y ca-certificates curl gnupg lsb-release

echo "=== 新增 Docker 官方 GPG Key ==="
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
    sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

echo "=== 新增 Docker 套件來源 ==="
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

echo "=== 更新套件列表 (Docker) ==="
sudo apt-get update -y

echo "=== 安裝 Docker CE 與 Compose Plugin ==="
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

echo "=== 啟動並設定 Docker 開機自動啟動 ==="
sudo systemctl enable docker
sudo systemctl start docker

echo "=== 將目前使用者加入 docker 群組 (免 sudo) ==="
sudo usermod -aG docker $USER

echo "=== 安裝完成 ==="
docker --version
docker compose version

echo "⚠️ 請重新登入帳號以套用群組變更"

使用方式

  1. 將上述內容儲存為檔案,例如 install_docker.sh
  2. 執行: chmod +x install_docker.sh ./install_docker.sh
  3. 安裝完成後,登出並重新登入,就可以直接使用 dockerdocker compose 指令。

[ubuntu]經由docker安裝wordpress

在一台ubuntu主機上(此測試是在20.04版本上),使用編輯器新增一個檔案名為idwp.sh

#vi idwp.sh

按i進入編輯狀態,然後將底下的內容copy後貼到檔案中

#!/bin/bash
sudo apt install -y curl
sudo curl -sSL http://www.twlais.com/study/docker/ui-dc-wp | bash

按ESC後再按:wq存檔離開, 再以管理者執行它

#sudo bash idwp.sh

即可自動安裝完成, 再以http://[你的ubuntu主機IP]:8031 即可看到安裝完成的設定畫面

竹月山莊轉移到新的wordpress

之前都是用純html編寫網頁, 為了順應世界潮流, 今天(2021/11/29)開始轉移到wordpress上, 希望它可以順利使用, 同時也捨棄了之前的論壇(phpBB3), 因為很久沒更新, 已經很難更新了, 所以直接捨棄掉, 斷捨離~~~

還在適應wordpress的編寫方式, 所以還會陸續修改網站的東西, 反正最近是有點忙裡偷閒的意味, 暫時沒有主管, 沒人指派工作, 舊的系統也處理的差不多了, 靜觀其變了。

說到重點, 這個wordpress其實是用docker建置的, 搭配mySQL的docker, 而且是建在raspberryPi 上面, 所以效能可能有限, 不過我的網站應該也不是什麼熱門大站, 所以沒有效能上的issue啦~ 至於建置的分享, 改天再寫, 今天沒空分享了, 就醬!

WordPress學習1

本來想買sugar Host 虛擬主機 , 但結果看到原來它的155元/月, 是要一次買3年, 而且要外稅, 所以買下來就快6千元了, 是不貴, 但不知道好不好用, 品質不好的話, 那不等於是打水漂~~ 所以很猶豫。

上網查了一下, 發現網站帶路姬 的建議是採用SiteGround或者是Bluehost, 否則其它的虛擬主機都曾遇過怪怪的連不上問題, 所以害我也很耽心買了會浪費錢。

後來只有自己用docker 架設來試試, 希望可以順利成功~~