運行httpd和wordpress的docker鏡像

買了騰訊的雲主機,完全自己搭建服務太麻煩。於是安裝了centos系統,裝了docker,直接下載docker鏡像來運行。

web服務比較簡單,直接把httpd鏡像拉下來運行就行了。

sudo docker run -dit --name my-httpd -p 8080:80 -v /home/user1/www_root/:/usr/local/apache2/htdocs/ httpd

上面的命令運行httpd容器鏡像,將本地/home/user1/www_root/ 掛載到容器中/usr/local/apache2/htdocs/ httpd,http的網頁就放在/home/pxy/www_root/目錄中。

網頁訪問方式:http://you_ip_address:8080/

-d: 容器在後臺運行
-i:表示以“交互模式”運行容器
-t:表示容器啓動後會進入其命令行
-v:表示需要將本地哪個目錄掛載到容器中,格式:-v <宿主機目錄>:<容器目錄>

wordpress運行稍微複雜一些,需要wordpress和mysql兩個鏡像協同工作。

###運行mysql容器
sudo docker run --name mysql-wordpress -d -v /home/user1/mysql_wp_root:/var/lib/mysql -e MYSQL_ROOT_PASSWORD="my_sql_password" mysql:8.0.1

###運行wordpress容器
sudo docker run --name my-wordpress -d -p 8090:80 --link mysql-wordpress:mysql -v /home/user1/wordpress_root:/var/www/html wordpress

本地目錄 /home/user1/wordpress_root和/home/user1/mysql_wp_root 分別作爲wordpress和mysql的存儲目錄,映射到容器的指定目錄下。

mysql容器運行時需要設置root密碼;而wordpress容易運行時需要指定連接的mysql數據庫。

從上面可以看到,訪問wordpress的方法爲:http://you_ip_address:8090/

雲主機上當前運行的容器有如下三個:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
b154e4f91721        wordpress           "docker-entrypoint..."   2 weeks ago         Up 2 weeks          0.0.0.0:8090->80/tcp   my-wordpress
6af2dec5f4db        mysql:8.0.1         "docker-entrypoint..."   2 weeks ago         Up 2 weeks          3306/tcp               mysql-wordpress
564a50ac029b        httpd               "httpd-foreground"       2 weeks ago         Up 2 weeks          0.0.0.0:8080->80/tcp   my-httpd

可以看到mysql後面有個8.0.1,說明對於mysql,沒有拉最新的image。如果使用mysql最新版本的image,運行wordpress會出錯,通過 sudo docker logs mysql-wordpress 查看錯誤日誌並搜索錯誤信息關鍵字,可以看到大約時從8.0.3開始,版本中一個認證相關的更改會引起這個錯誤,因此嘗試使用略微舊一點的mysql鏡像,這裏使用8.0.1,終於運行ok了。

關於wordpress的搭建,可以參考下面這個網頁,寫的比較詳細,不過大概那時候引起錯誤的mysql的變更還未進行,因此在我仔細按照該文進行操作還是不行,反覆幾次到利用搜索工具最終解決錯誤的原因並規避,還是費了一番周折。

使用docker搭建wordpress網站

其他相關命令:

sudo docker stop mysql-wordpress   # 停止容器
sudo docker rm mysql-wordpress     # 刪除容器

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章