WordPress, 伺服器架設, 網站架設

[教學] DockerFile打造PHP環境,並手動安裝WordPress

梅干2018/11/12
梅問題-[教學] DockerFile打造PHP環境,並手動安裝WordPress
  透過Docker在佈署網站,相當的快速,甚至Docker Store中也有許多資源可使用,雖然說在Docker Store中就有WordPress的影像檔可利用,為何要這麼辛苦,自己手動安裝WordPress,其實最主要的原因就在於,Docker Store中的WordPress版本,則是以目前正式發布的為主,若要安裝測試的版本,那就得手動安裝才行。
  而先前也曾分享過在MAC電腦,打造Docker的環境並安裝php的環境,因此只要再把MySQL裝上後,就可以安裝WordPress,理論流程是這子沒錯,但礙於WordPress的資料庫連線方式,在PHP7.0內建並不支援,因此就得特別再作擴充,才能正常的連線,所以這時就得自行打造DockerFile,自行建立PHP的環境與擴充,這樣就可以自行手動來安裝WordPress,或是任何的系統,至於要怎麼作,現在就一塊來看看吧!
Step1
首先,先將Dockerfiledocker-compose.ymlinfo.php放到網站根目錄下。
Dockerfile
FROM php:7.0-apache

# install the PHP extensions we need
RUN set -ex; \
\
savedAptMark="$(apt-mark showmanual)"; \
\
apt-get update; \
apt-get install -y --no-install-recommends \
libjpeg-dev \
libpng-dev \
; \
\
docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
docker-php-ext-install gd mysqli opcache zip; \
\
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark; \
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
| awk '/=>/ { print $3 }' \
| sort -u \
| xargs -r dpkg-query -S \
| cut -d: -f1 \
| sort -u \
| xargs -rt apt-mark manual; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/*

# set recommended PHP.ini settings
# see https://secure.php.net/manual/en/opcache.installation.php
RUN { \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=4000'; \
echo 'opcache.revalidate_freq=2'; \
echo 'opcache.fast_shutdown=1'; \
echo 'opcache.enable_cli=1'; \
} > /usr/local/etc/php/conf.d/opcache-recommended.ini

RUN a2enmod rewrite expires

VOLUME /var/www/html

docker-compose.yml
version: '3.1'

services:
  www:
    build: .
    restart: always
    ports:
      - 80:80
    volumes:
      - ./:/var/www/html

  db:
    image: mysql
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root
    ports:
      - 3306:3306
    volumes:
      - ./db:/var/lib/mysql
  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080

info.php
<?php
phpinfo();
?>

梅問題-[教學] DockerFile打造PHP環境,並手動安裝WordPress
Step2
接著開啟終端機,輸入cd /網站目錄的路徑
梅問題-[教學] DockerFile打造PHP環境,並手動安裝WordPress
Step3
進到網站目錄後,再輸入docker-compose up -d
梅問題-[教學] DockerFile打造PHP環境,並手動安裝WordPress
Step4
當發布完畢後,再輸入dokcer ps時,分別就會看到mysqladminerphp三個container。
梅問題-[教學] DockerFile打造PHP環境,並手動安裝WordPress
Step5
接著再把WordPress5.0 Beta3放到網站目錄下。
梅問題-[教學] DockerFile打造PHP環境,並手動安裝WordPress
Step6
再開啟網頁,輸入127.0.0.1:8080就可登入資料庫的管理頁面,這時帳密都是root/root。
梅問題-[教學] DockerFile打造PHP環境,並手動安裝WordPress
Step7
接著建立一個新的資料庫。
梅問題-[教學] DockerFile打造PHP環境,並手動安裝WordPress
Step8
建立完畢後,再輸入127.0.0.1/wp目錄,接著先設定語系。
梅問題-[教學] DockerFile打造PHP環境,並手動安裝WordPress
Step9
再按衝吧!
梅問題-[教學] DockerFile打造PHP環境,並手動安裝WordPress
Step10
這邊得特別注意到,在資料庫主機位址的地方,則是輸入db,而不是localhost或是127.0.0.1,得特別留意到。
梅問題-[教學] DockerFile打造PHP環境,並手動安裝WordPress
Step11
哈~順利與資料連接後,就可開裝安裝你的WordPress啦!
梅問題-[教學] DockerFile打造PHP環境,並手動安裝WordPress
Step12
設定WordPress的網站名稱與帳密。
梅問題-[教學] DockerFile打造PHP環境,並手動安裝WordPress
Step13
鏘~鏘~完成!這樣就可搶先來體驗,新版WordPress5.0啦!
梅問題-[教學] DockerFile打造PHP環境,並手動安裝WordPress