Docker實踐:安裝wordpress


本文將示例如何使用Docker來安裝wordpress。使用三種方法:
1、基於官方的wordpress鏡像使用docker run實現;
2、基於官方的wordpress鏡像使用fig命令編排工具實現。

閱讀本文您需要具備以下知識:
1、了解PHP和MySQL
2、熟練Docker基礎知識(包括Dockerfile語法)
3、了解Docker應用編排工具Fig或者Compose

安裝mysql服務

由於用到mysql數據庫服務,我們先下載mysql鏡像:

docker pull mysql

創建mysql容器並后台運行,指定數據庫密碼是123456。-e指定環境變量。

docker run --name mysql_db -e MYSQL_ROOT_PASSWORD=123456 -d mysql

使用官方的wordpress

wordpress鏡像daocloud.io:

docker pull daocloud.io/daocloud/dao-wordpress:latest

拉取鏡像前請先登錄: docker login daocloud.io(請使用用戶名進行 login)。

或者使用wordpress官方鏡像:

docker pull wordpress

創建wordpress容器應用並后台運行:

docker run --name some-wordpress --link mysql_db:mysql -p 8001:80 -d daocloud.io/daocloud/dao-wordpress

然后就可以在瀏覽器通過 http://localhost:8001(或 http://host-ip:8001) 訪問站點了。

如果想使用外部數據庫的話,可以通過上述環境變量設置對應數據庫的連接方式:

$ docker run --name some-wordpress -e WORDPRESS_DB_HOST=10.1.2.3:3306 \
    -e WORDPRESS_DB_USER=... -e WORDPRESS_DB_PASSWORD=... -d wordpress

更多環境變量:

WORDPRESS_DB_HOST 數據庫主機地址(默認為與其 link 的 mysql 容器的 IP 和 3306 端口: :3306)
WORDPRESS_DB_USER 數據庫用戶名(默認為 root)
WORDPRESS_DB_PASSWORD 數據庫密碼(默認為與其 link 的 mysql 容器提供的 MYSQL_ROOT_PASSWORD 變量的值)
WORDPRESS_DB_NAME 數據庫名(默認為 wordpress)
WORDPRESS_TABLE_PREFIX 數據庫表名前綴(默認為空,您可以從該變量覆蓋 wp-config.php 中的配置)
安全相關(默認為隨機的 SHA1 值)

  • WORDPRESS_AUTH_KEY
  • WORDPRESS_SECURE_AUTH_KEY
  • WORDPRESS_LOGGED_IN_KEY
  • WORDPRESS_NONCE_KEY
  • WORDPRESS_AUTH_SALT
  • WORDPRESS_SECURE_AUTH_SALT
  • WORDPRESS_LOGGED_IN_SALT
  • WORDPRESS_NONCE_SALT

如果 WORDPRESS_DB_NAME 變量指定的數據庫不存在時,那么 wordpress 容器在啟動時就會自動嘗試創建該數據庫,但是由 WORDPRESS_DB_USER 變量指定的用戶需要有創建數據庫的權限。

Dockerfile倉庫:https://github.com/docker-library/wordpress

使用Fig編排

Fig是Docker的應用編排工具,主要用來跟 Docker 一起來構建基於 Docker 的復雜應用,Fig 通過一個配置文件來管理多個Docker容器,非常適合組合使用多個容器進行開發的場景。目前Fig已經升級並更名為Compose。Compose向下兼容Fig。

應用編排工具使得Docker應用管理更為方便快捷。 Fig網站:http://www.fig.sh/

安裝Fig:

# 方法一:
curl -L https://github.com/docker/fig/releases/download/1.0.1/fig-`uname 
-s`-`uname -m` > /usr/local/bin/fig; chmod +x /usr/local/bin/fig

# 方法二:
yum install python-pip python-dev
pip install -U fig

編寫fig.yml:

wordpress:
  image: daocloud.io/daocloud/dao-wordpress:latest
  links:
    - db:mysql
  ports:
    - "8002:80"
db:
  image: mysql
  environment:
    - MYSQL_ROOT_PASSWORD=123456

部署應用:

# 啟動
fig up

# 啟動並后台運行
fig up -d

然后就可以在瀏覽器通過 http://localhost:8002(或 http://host-ip:8002) 訪問站點了。

fig logs 查看日志
fig port 查看端口映射

使用外網

wordpress:
  image: daocloud.io/daocloud/dao-wordpress:latest
  environment:
    - WORDPRESS_DB_HOST=119.119.192.246:3306
    - WORDPRESS_DB_USER=root
    - WORDPRESS_DB_PASSWORD=123456
  ports:
    - "80"

Fig命令:

# 停止
fig stop

# 查看日志
fig logs 

# 查看端口 
fig port

# 卸載Fig:
pip uninstall fig

# version:
fig --version

注意:fig已升級為compose:https://github.com/docker/compose

其它

批處理腳本

# 關閉所有正在運行容器
docker ps | awk  '{print $1}' | xargs docker stop

# 刪除所有容器應用
docker ps -a | awk  '{print $1}' | xargs docker rm

docker鏡像倉庫

官方:https://hub.docker.com
DaoCloud:https://hub.daocloud.io/
網易蜂巢鏡像中心:https://c.163.com/hub#/m/home/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM