Docker, Raspberry Pi

使用Docker Compose快速建立WordPress網站

在前面的文章中我們學會了如何利用docker指令來安裝一個WordPress網站,同學們會發現指令要加上很多冗長的參數,一不小心就要重新輸入,非常麻煩。為了避免此種麻煩,有一個叫做Docker Compose的工具可以協助我們把想要啟動的所有指令全部編寫在一個叫做docker-compose.yml的檔案中,然後,再一口氣執行部署作業,如此就會讓我們部署網站變得方便多了。

請在你的電腦中建立一個資料夾,然後在此資料夾中建立一個叫做docker-compose.yml的檔案,內容如下:

version: '3.1'

services:

  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wpadmin
      WORDPRESS_DB_PASSWORD: 12345678
      WORDPRESS_DB_NAME: wp
    volumes:
      - wordpress:/var/www/html

  db:
    image: mysql
    restart: always
    environment:
      MYSQL_DATABASE: wp
      MYSQL_USER: wpadmin
      MYSQL_PASSWORD: 12345678
      MYSQL_ROOT_PASSWORD: 12345678
    volumes:
      - db:/var/lib/mysql
volumes:
  wordpress:
  db:

存檔完畢之後,只要執行docker-compose up,過一小段時間,WordPress就啟用了。此時,只要在自己的電腦瀏覽器中輸入localhost:8080這個網址,即可看到WordPress的安裝畫面。安裝完畢之後,所有的系統資料就會被記錄下來,下次再進入此網站的時候,就可以看到修改後的樣子而不會被還原。因此,在docker-compose.yml的最下方建立了兩個volume,如下所示:

假如要移除所有的設定,重新設定一個網站的話,也可以在中斷docker-compose的執行之後,輸入以下的指令:

docker-compose down
docker volume rm compose-wp_db compose-wp_wordpress

則下一次再利用docker-compose up指令重啟時,就會出現重新安裝WordPress的畫面。上述的安裝檔案適用於x86的機器,不論是Windows或是Linux都可以。但是如果你使用的是樹莓派的話,因為它的mysql映像檔並不相容,所以要換一個映像檔,如下所示:

version: '3.1'

services:

  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wpadmin
      WORDPRESS_DB_PASSWORD: 12345678
      WORDPRESS_DB_NAME: wp
    volumes:
      - /root/docker/wp:/var/www/html

  db:
    image: hypriot/rpi-mysql
    restart: always
    environment:
      MYSQL_DATABASE: wp
      MYSQL_USER: wpadmin
      MYSQL_PASSWORD: 12345678
      MYSQL_ROOT_PASSWORD: 12345678
    volumes:
      - /root/docker/mysql:/var/lib/mysql

在上述的指令檔中我們還示範了如何不使用volume,而是把系統檔案(包括WordPress以及MySQL)放在本機資料夾的方法,為了要執行這個指令,建議把上述的docker-compose.yml放在/root/docker底下,並在該資料夾下再建立兩個資料夾分別是wp以及mysql,用來放置兩個WordPress和MySQL使用的資料檔案。

樹莓派預設是沒有docker-compose指令的,要使用以下的方式把它安裝上去:

pip install docker-compose

如果你的樹莓派連Docker都還沒安裝,那麼請參考以下的網站說明:

https://dev.to/elalemanyo/how-to-install-docker-and-docker-compose-on-raspberry-pi-1mo

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s