Docker建網站 4條命令搞定

提起雲計算,確定少不了kvm和Docker這兩個重量級的角色。沒有這兩位,就沒有云計算。其中,Docker可能更重要。html

我不想跟你們講Docker的概念什麼的。你只須要知道它很厲害就成了!而我呢,只想拿Docker來建一個網站給你們瞧瞧。呵呵,高射炮打蚊子?關鍵是,高射炮還真打不着蚊子。Docker卻真的能建網站。在只有一個操做系統的狀況下,用Wordpress建網站,只須要4條命令行!
先看看,不用Docker,傳統模式下,如何建設起一個網站來。通常會通過如下四個步驟。是步驟,不是命令行。要數命令行,差很少有30多行的樣子。
第1步:安裝Apache
第2步:安裝MariaDB
第3步:安裝PHP
第4步:安裝Wordpress
上面的四步,無論你用什麼yum,仍是用rpm,或者編譯安裝,最少得1個小時。其中,還要專門爲Apahce安裝一個特別的模塊apxs。還要修改Apahce的主配置文件;添加一個虛擬主機的配置文件;在MariaDB裏內爲Wordpress建立用戶和數據庫。最後,開通防火牆,恢復網頁目錄的SELinux安全上下文標籤等等,步驟不少,很是繁瑣。我在幾所學校裏提供Linux實訓時使用上面的四步,輸入的命令行數十行,講解並完成上述過程通常都須要四節課的時間。
在運行Docker的方法前,看看個人運行環境:
硬件主機:小米筆記本電腦,運行Windows 10
操做系統:VirtualBox下的Ubuntu 18
網絡條件:Ubuntu已經聯通互聯網mysql


上圖中,演示的環境比較複雜。若是咱們在一臺安裝着Linux操做系統的電腦上,如租用的Linux雲主機上,就沒有這麼多層次。
第1條命令:安裝Dockersql

$ sudo apt-get install docker.io

第2條命令:將普通用戶加入Docker組docker

$ sudo gpasswd -a alan docker

將當前的普通用戶alan添加到docker組內。你安裝的時候,建立的普通用戶是誰,你就把alan替換成那個用戶名,就成了。
第3條命令:建立MariaDB的容器數據庫

$ docker run --name mariadb-test -e MYSQL_ROOT_PASSWORD=123456Abcd -d mariadb

在MariaDB裏,爲root用戶設置了一個密碼:123456Abcd。這麼長的密碼是Wordpress要求的:有數字,有大、小寫字母。容器的名字叫 mariadb-test,要運行的是一個名叫maria的軟件。個人Ubuntu裏沒有它的鏡像,便直接從hub.docker.com上下載。
第4條命令:建立Wordpress的命令apache

$ docker run --name wordpress-test --link mariadb-test:mysql -p 80 -d wordpress

建立,並運行一個名叫wordpress-test的容器,還扯上那個名叫mariadb-test的,而且要開通80端口。
第5條命令:查看日誌瀏覽器

$ docker logs 630e


630e是上一條命令返回的一長串字符——即一個名叫wordpress-test的容器的ID的前4位。固然,你看到的ID確定不一樣。你只須要使用前面的4位便可。咱們這條命令是要查看該容器的運行信息。若是前面的id不顯示,或你弄丟了。就輸入docker container ls查找容器的id。在裏面咱們會看到一個IP地址,多是172.17.0.3。你看到的內容多是這樣的:
WordPress not found in /var/www/html - copying now...
Complete! WordPress has been successfully copied to /var/www/html
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.3. Set the 'ServerName' directive globally to suppress this message
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.3. Set the 'ServerName' directive globally to suppress this message
[Thu Nov 29 15:28:13.306609 2018] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.25 (Debian) PHP/7.2.12 configured -- resuming normal operations
[Thu Nov 29 15:28:13.306730 2018] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'安全

第6條命令:訪問網站後臺

$ firewfox http://172.17.0.3 &

 這條命令運行以後,在彈出來的Firefox窗口內,爲網站管理後臺設置一個用戶,併爲該用戶設置一個密碼。你能夠直接登陸進去,發佈一篇文章試試。而後,再打開一個瀏覽器窗口,再次輸入 http://172.17.0.3,看到的就是網站的前臺頁面了。
等等,不是說4條命令就搞定嗎?怎麼運行了6條命令呢?其實,第4行命令運行的時候,已經完成了網站的建立。第4條、第5條、第6條,僅僅是爲網站設設置管理帳號而已。就算是6條,也很快,對吧?
Wordpress多是最著名的CMS軟件,功能強大,很是靈活,圖片、模板、佈局等等均可以自定義。若是你會琢磨,確定能利用後臺把網站整出不少花樣來。bash

有人問,我用的是CentOS操做系統行嗎?固然行。
第1條命令: su
第2條命令:yum -y install docker
爲簡便起見,你直接變成root用戶得了。後面的命令跟Ubuntu裏的同樣。
Docker能夠作不少事情。建設網站,不過是衆多功能中的一種。紅帽公司將Docker與Google公司開源出來調試軟件Kubernetes放在一塊兒,再加上etcd這個強大的分佈式配置進程,以及Ansible自動化工具等等,便成了三大雲計算應用場景中的PaaS開源系統OpenShift。而OpenShift則是紅帽高級認證RHCA(雲計算方向)五門核心課程之一。想學習的話,趕快來騰科報名吧。網絡

相關文章
相關標籤/搜索