1. 程式人生 > >Docker自學紀實(四)搭建LNMP部署wordpress

Docker自學紀實(四)搭建LNMP部署wordpress

我們在工作中最常用的就是LNMP網站平臺

這個架構呢,是整個公司網站的核心

如果對於訪問量較小的網站,可以直接在伺服器上面部署

而如果是訪問量很大的網站,那負載就是個很大的問題。

要麼需要再買很多伺服器做節點,要麼就是現在流行的虛擬化。

我們知道一臺加滿硬碟和記憶體條的伺服器至少需要3W人民幣

這樣的話對於公司來說可是不小的開支

所以很多公司開始招聘熟悉虛擬化的人才

Docker是現在很火的虛擬化技術

使用Docker部署服務

既簡單又方便還省錢

來學學吧,很簡單,就不到十條命令。

  • 環境:

CentOS7、MySQL映象、nginx-php-fpm映象、wordpress包

  • 思路

在CentOS7上裝好Docker,下載映象,執行映象,配置MySQL,連線MySQL和nginx-php-fpm,最後測試

  • 下載映象
 1 #pull MySQL映象
 2 [[email protected] ~]# docker search mysql
 3 INDEX        NAME                DESCRIPTION       STARS      OFFICIAL       AUTOMATED
 4 docker.io docker.io/mysql   MySQL is a widely used, open-source relati... 7386
[OK] 5 ...........................................#出來很多映象條目,一般我們選擇STARS最高的 6 [[email protected] ~]#docker pull mysql 7 #等待pull完映象,然後pull nginx-php-fpm映象 8 [[email protected] ~]#docker search nginx 9 INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED 10 docker.io docker.io/nginx Official build of Nginx. 10307
[OK] 11 docker.io docker.io/jwilder/nginx-proxy Automated Nginx reverse proxy for docker c... 1469 [OK] 12 docker.io docker.io/richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable ... 648 [OK] 13 ........................................... 14 [[email protected] ~]#docker pull docker.io/richarvey/nginx-php-fpm 15 #等待pull完映象 16 #檢視下載的映象 17 [[email protected] ~]#docker images 18 REPOSITORY TAG IMAGE ID CREATED SIZE 19 docker.io/mysql latest f991c20cb508 8 days ago 486 MB 20 docker.io/richarvey/nginx-php-fpm latest 359a8d82408a 3 weeks ago 304 MB
  • 執行&配置映象容器
1 [[email protected] ~]#docker run -itd --name lnmp_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=設定你的MySQL密碼 myql
2 #lnmp_mysql:設定容器名稱、MYSQL_ROOT_PASSWORD:變數
3 [[email protected] ~]#docker exec lnmp_mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e "create database 資料庫名"'
4 #$MYSQL_ROOT_PASSWORD:引用變數
5 [[email protected] ~]#docker run -itd --name lnmp_web -p 8080:80 --link lnmp_mysql:db -v /container/web:/var/www/html docker.io/richarvey/nginx-php-fpm
6 #--link lnmp_mysql:db 是連線到MySQL資料庫;-v /container/web:/var/www/html是把宿主機的路徑對映到容器裡面,冒號左邊是宿主機路徑,右邊是容器內路徑
  • 測試

測試成功,下載wordpress包。

 1 wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz 
將wordpress包解壓。並將裡面檔案移動到容器與宿主機對映的那個路徑下。

然後重啟這個容器,接著瀏覽器訪問就可以了。