1. 程式人生 > >docker之搭建wordpress實戰

docker之搭建wordpress實戰

docker的初識,docker compose+mysql+wordpress舉例應用

docker優勢

相對於傳統的devops開發,從以下幾個問題我們對比,發現dcoker的獨特

  1. 有沒有在安裝一個linux系統下安裝一個程式很頭疼,比如mysql版本不對,需要解除安裝重 新裝一個新的版本,重新進行配置。再或者安裝一個Apache需要安裝各種依賴很繁瑣。

  2. 對於一些專案本機可以執行,但是伺服器或者其他電腦都不能執行,不同的環境導致 專案不能執行這種事情也是司空見慣的。

  3. 應用程式執行一段時間,突然出現問題,可能是伺服器其他應用程式導致,或者是相 衝突,可能是其他程式有問題,佔滿了機器的cpu和記憶體,導致其他程式沒法執行。

  4. APP上線一個活動,可能導致流量暴增,公司需要再多部署幾十臺伺服器。

針對以上的問題,我們可以總結出docker相對傳統的devops開發,可以做到快捷的部署,直接拉取映象部署開發環境,然後可以將專案打包成映象,直接再其他docker上執行映象即可,解決了依賴問題,解決版本衝突,容器之間的隔離,使得不同程式之間互不干擾。新建幾十個容器相對於部署幾十臺伺服器來說那效率估計會快上n倍。

以上談完了docker的優勢,接下來看看docker的具體操作:

docker的安裝

安裝docker其實挺簡單的,只需要幾行命令 如果僅是安裝,逐條執行以下命令即可,具體的命令含義或者其他系統下安裝,可參考以下網址

:docker安裝網址

基於linux下,docker官方的儲存庫安裝 image

    sudo yum install -y yum-utils \
    device-mapper-persistent-data \
    lvm2
    sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
    sudo yum-config-manager --enable docker-ce-tes
    sudo yum install docker-ce

上述便完成了docker容器的安裝,啟動docker

    sudo systemctl start docker

docker的使用

使用docker的一寫常用命令可以驗證上述的docker是否正確安裝。學習docker需要了解docker的三個重要元素,映象,容器和倉庫。另外需要dockerfile和docker compose的基本概念和語法 在這裡就不詳解docker的命令了,具體的可參考docker官方文件

dcoker之mysql的安裝

對於mysql儲存資料的容器,資料檔案和配置應該是在外部配置裡面可維護,可配置。在docker hub中mysql映象的設計,當啟動容器是,檢視mysql的docker可知其實外部掛載了資料檔案VOLUME /var/lib/mysql. 配置沒有掛載。 我們可以重新啟動一個mysql容器去掛載資料檔案和配置檔案。

mysql外部檔案掛載:

1.建立一個目錄 /docker/mysql 在再新建一個目錄 /docker/mysql/conf, 編輯一個自己的my.cnf配置

2.啟動一個mysql容器

docker run -p 3306:3306 --name 91_mysql -v $PWD/conf/my.cnf:/etc/mysql/my.cnf -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=91code2018  -d mysql:5.6

3.啟動成功即可 myql的一些配置: my.cnf下面設定不區分表的大小寫:

[mysqld]
lower_case_table_names=1
是否成功可進入mysql客戶端:
show Variables like '%table_names'    查出來結果為1即可

設定mysql遠端連線:

mysql>use mysql; 
mysql> GRANT ALL PRIVILEGES ON *.* TO [email protected]"%" IDENTIFIED BY "密碼"; //為root新增遠端連線的能力 
mysql> flush privileges; 
mysql> exit 
mysql>select host,user from user; //檢視修改是否成功。

修改字符集: 檢視命令:

show variables like '%character%';

修改命令:

mysql> set character_set_connection=utf8;
mysql> set character_set_database=utf8;
mysql> set character_set_results=utf8;
mysql> set character_set_server=utf8;	
mysql> set character_set_client=utf8;

docker+compose的wordPress實戰搭建

  • sudo chmod +x /usr/local/bin/docker-compose
  • docker-compose --version
  1. 官方搭建wordpress參考文件 主要步驟就是新建一個docker-compose.yml檔案,然後在檔案目錄下執行docker-compose up -d 即可開啟一個docker-compose服務。

  2. 若是要連線到已經存在的mysql容器,可參考以下的docker-compose.yml

version: '3.3'

   services:
   wordpress:
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always 
     environment:
       WORDPRESS_DB_HOST: 111.231.85.21:3306
       WORDPRESS_DB_USER: root
       WORDPRESS_DB_PASSWORD: 91code2018
       WORDPRESS_DB_NAME: wordpress_metastore