快速部署網站容器化

前言:如今容器化正愈演愈熱,未來的一個趨勢,不學點容器化東西,怎麼能行,技術就是一點點學習積累上去的。今天跟大家分享一個使用docker快速部署網站的案例。

大家都知道部署一個網站,首先你的有數據庫存儲吧,其次準備好一個網站包。這裏呢我結合我自己部署一個網站的案例跟大家闡述下具體步驟細節。
我的網站是一個標準的java開發的web項目,是一個war包,使用tomcat容器進行運行網站。數據庫是使用mysql5.7,緩存使用redis4.0.9,操作日誌使用的是mongodb3.6.4記錄請求日誌。

首先你要購買一臺linux系統的雲主機,同時要購買一個外網ip帶寬,這裏呢我是購買的比格雲
的一臺2核/2G內存/2M彈性帶寬,接下來的所有操作命令都是基於這臺linux(centos 7.2 64位系統)系統進行闡述。

一、環境檢查準備

1、如何檢查系統環境是否支持docker?
檢查內核版本,必須是3.10及以上,我們在系統內執行以下命令:
uname -r
在這裏插入圖片描述
2、安裝docker,跳過確認直接安裝
yum install docker -y
在這裏插入圖片描述

3、查看docker版本,確認是否按照好
docker -v
在這裏插入圖片描述

4、啓動docker
systemctl start docker
5、加入開機啓動
systemctl enable docker
在這裏插入圖片描述

二、如何在docker環境裏安裝mysql並允許外部程序連接和外掛配置文件

1、拉取mysql5.7鏡像
docker pull mysql:5.7
在這裏插入圖片描述

2、查看確認mysql鏡像
docker images
在這裏插入圖片描述
看到這個信息,說明我們的mysql鏡像已經拉取下載成功下來了
3、運行mysql服務
docker run --name 你的服務名字 -e MYSQL_ROOT_PASSWORD=你的密碼 -p 3306:3306 -v /data/mysql/data:/var/lib/mysql -v /data/mysql/conf:/etc/mysq/conf.d -d mysql:5.7
在這裏插入圖片描述
說明:-v xxx:yyy 其中 xxx代表外掛的配置文件, yyy代表容器內的對應目錄文件, 如果默認,也可以不需要攜帶-v 參數;
4、查看mysql容器運行情況
docker ps在這裏插入圖片描述
可以看到mysql服務運行起來了
5、使用工具連接mysql,這裏我使用的是navicat
在這裏插入圖片描述
如果出現連接不上,請查看你的機器的防火牆是否開啓了mysql數據庫默認的3306端口
在這裏插入圖片描述

三、安裝redis並指定外部配置文件

1、拉取redis4.0.9鏡像
docker pull redis:4.0.9
在這裏插入圖片描述
2、查看確認redis鏡像
docker images
在這裏插入圖片描述
看到這個信息,說明我們的redis鏡像已經拉取下載成功下來了

3、下載redis.conf配置文件,並修改其中的配置項
創建配置文件目錄存放redis.conf,文件從官網下載(http://download.redis.io/redis-stable/redis.conf)
這裏我修改了幾項配置:
bind 127.0.0.1 #註釋掉這部分,這是限制redis只能本地訪問
protected-mode no #默認yes,開啓保護模式,限制爲本地訪問
daemonize no#默認no,改爲yes意爲以守護進程方式啓動,可後臺運行,除 非kill進程,改爲yes會使配置文件方式啓動redis失敗
dir ./ #輸入本地redis數據庫存放文件夾(可選)
appendonly yes #redis持久化(可選)
4、運行redis服務
docker run -d -p 6379:6379 --name redis-server -v /data/redis/conf/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data/ redis:4.0.9 redis-server --requirepass “你的密碼”
5、查看redis容器運行情況
docker ps
在這裏插入圖片描述
可以看到redis服務運行起來了
6、使用工具連接redis,這裏我使用的是redis desktop manager工具
在這裏插入圖片描述
如果出現連接不上,請查看你的機器的防火牆是否開啓了redis數據庫默認的6379端口
在這裏插入圖片描述

四、安裝mongo並指定外部配置文件

1、拉取mongo3.6.4鏡像
docker pull mongo:3.6.4
在這裏插入圖片描述
2、查看確認mongo鏡像
docker images
在這裏插入圖片描述
看到這個信息,說明我們的mongo鏡像已經拉取下載成功下來了

3、先以無認證方式運行mongo服務
docker run --name mongodb-server -v /usr/local/docker-data/mongodb/data/:/data/db -p 27017:27017 -d mongo:3.6.4

4、查看mongo容器運行情況
docker ps
在這裏插入圖片描述可以看到mongo服務運行起來了

5、設置mongodb認證(如果不需要認證忽略這一步驟)
@1:先進入後臺
docker exec -it mongodb-server /bin/bash
@2:進入mongo
mongo
@3:切換到admin數據庫並創建超級管理員
use admin;
db.createUser({user:‘你的用戶名’, pwd:‘你的密碼’, roles: [{role:“root”, db:“admin”}]});
@4:認證超級管理員
db.auth(‘你的用戶名’,‘你的密碼’);
@5:退出mongo
exit;
@6:以超級管理員權限重新認證進入
mongo admin -u 你的用戶名 -p 你的密碼;
@7:最後創建其他庫的管理用戶
use 你要創建的數據庫名;
db.createUser({user:‘設置你的用戶名’, pwd:‘設置你的密碼’, roles:[{role:“dbOwner”,db:“你上一步驟創建的數據庫名”}]});
@8:認證上一步驟的用戶
db.auth(‘上一步驟設置的用戶名’,‘上一步驟設置的密碼’);
@9:退出並刪除此mongo容器,重新加入認證進行創建(命令多了一個 --auth)
exit;
exit;
docker stop mongo容器id;
docker rm mongo容器id;
docker run --name mongodb-server -v /usr/local/docker-data/mongodb/data/:/data/db -p 27017:27017 -d mongo:3.6.4 --auth;

6、使用工具連接mongo,這裏我使用的是robot 3t工具
在這裏插入圖片描述
如果出現連接不上,請查看你的機器的防火牆是否開啓了mongo數據庫默認的27017端口
在這裏插入圖片描述

五、安裝tomcat並指定外部配置文件,部署war啓動

1、拉取tomcat鏡像
docker pull tomcat:8.5.40
在這裏插入圖片描述
2、查看確認tomcat鏡像
docker images
在這裏插入圖片描述
看到這個信息,說明我們的tomcat鏡像已經拉取下載成功下來了

3、運行tomcat容器
docker run -d --name tomcat-server -p 8966:8966
-v /data/tomcat/apps:/usr/local/tomcat/webapps
-v /data/tomcat/conf/server.xml:/usr/local/tomcat/conf/server.xml
-v /data/tomcat/conf/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml
-v /data/tomcat/logs:/usr/local/tomcat/logs tomcat:8.5.40

說明:tomcat默認監聽80端口,這裏因爲我的程序啓動端口是8966,所以我修改了tomcat 配置文件裏的server.xml監聽端口改成8966,映射到外部訪問你的8966,如果你的程序啓動端口是其他的,你也需要把它修改掉
編輯部分server.xml 截圖如下:
在這裏插入圖片描述
4、部署我們的應用
前面我們外掛了包管理目錄/data/tomcat/apps
我們只要把war包放到這個目錄下,重新restart 容器,會自動解壓war包

結語:在前進學習的道路上記錄方便以後自己查看回顧,同時也給一些需要的人給予一定的參考;如果關於此問題,不吝您的賜教!

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