Ubuntu下啟用docker並安裝mysql|redis|tomcat|rap

weixin_34393428發表於2018-02-11

RAP文案是一個project,可放在tomcat下執行,啟動過程中需要用到mysql和redis。

本例中使用docker來安裝並啟動RAP。

docker的安裝啟用

1.安裝docker---sudo apt-get install -y docker.io

10055699-81fd928f25a3de20.png
安裝docker

2.啟動docker--sudo service docker start

10055699-9949c7cd9a186514.png
啟動docker

3.檢視docker映象

10055699-e9d3ed07acf222d1.png
當前還沒有docker映象

docker內啟動mysql

1.查詢mysql資源--sudo docker search mysql

10055699-b1091d7d38bad012.png
查詢mysql資源

這裡我們選用第一個mysql的倉庫資源就可以了

2.下載mysql資源--sudo docker pull mysql

10055699-f7adf7135f4f6a57.png
資源正在下載
10055699-568195e0150678bc.png
下載完成

3.檢視docker映象--sudo docker images

10055699-1eaa840a35cdd0ac.png
存在一個mysql的映象

4.使用mysql映象啟動mysql服務--sudo docker run --name mysql -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=123456 -d f00

10055699-ce4c0ec92dfec0ff.png
啟動mysql並檢視執行情況

啟動服務後,本機是可以進入mysql的,但遠端連線發現失敗,這是因為mysql初始化的配置是不支援遠端去訪問的。則需要進入mysql容器內修改一些允許遠端訪問的配置。若遠端可以訪問則跳過第5步

5.設定遠端可訪問

進入容器內部--sudo docker exec -it mysql bash

10055699-1b7ecc4516ad3864.png
進入mysql容器

容器內更新apt-get庫並安裝vim

apt-get update

10055699-abebf3afd15239df.png
apt-get update

apt-get install vim

10055699-c44f81588350952a.png
apt-get install vim

此時可以使用vim去開啟配置並修改--vim /etc/mysql/mysql.conf.d/mysqld.cnf

10055699-fc31457bb08cc824.png
開啟配置檔案
10055699-831137f1118971e9.png
這個映象生成的容器bind_address預設就是註釋掉的,可以不修改

我們選的這個映象的bind_address本來就是被註釋的,所以可以不更改,也可以開啟註釋並將值改為0.0.0.0

接著進入mysql資料庫--mysql -uroot -p123456

10055699-28b66a864135d79e.png
使用123456密碼進入mysql

use mysql

select host,user from user;

10055699-0a3c5837b59b10ce.png
檢視mysql資料庫下的user表

當看到root賬戶的host為%時則,表明可以遠端訪問了,如果root的host不為%則直接使用sql語句update就行了。當然你也可以新增使用者並將它的host設為%,再用這個新使用者登入

10055699-ef73988d730020e3.png
退出mysql後再exit退出容器

若剛才進入容器並做了修改,則通過commit來提交剛才的修改,第一個mysql是容器名,後一個mysql是映象名,當然也可以用容器id和映象id

sudo docker commit mysql mysql

10055699-b3db0ca41a0c160a.png
提交
10055699-8265ac2407961da8.png
447MB的mysql就是我們修改過配置的映象
10055699-e529eb7de256b38f.png
刪除先前正在啟動的mysql
10055699-caa9e8d1ac780375.png
使用修改過配置的映象啟動一個新的mysql容器
10055699-1e11d80e3907b8ad.png
遠端連線成功

docker內啟動redis

1.查詢資源--sudo docker search redis

10055699-1bcff811b5291bee.png
查詢資源

2.下載並檢視映象--sudo docker pull redis

10055699-f12abaacc59ebd91.png
下載並檢視映象

3.啟動redis容器--sudo docker run --name redis -p 6379:6379 -d redis

10055699-99992809557b5f2f.png
啟動

4.訪問

因為預設不需要密碼就可以通過6379埠訪問redis,所以很容易遭到攻擊,使得伺服器成為肉雞,所以一般redis不要去設定可遠端連線。本次RAP不需要遠端訪問該Redis,本機訪問即可。

若業務上必須要遠端訪問,則需要修改以下幾點:

①redis3之前版本進入redis容器,在/etc/redis/redis.config中修改bind為0.0.0.0,開啟註釋requirepass並設定密碼,退出容器並docker commit  '容器' '映象名',再用新映象重新啟動一個容器;redis3之後的版本使用docker啟動命令時需要使用-v掛載一個自寫的redis.config,因為映象預設沒有配置檔案

②開通伺服器防火牆6379埠

③伺服器安全組設定需要開通6379埠的入和出規則

④若做完①②③後還是遠端連線失敗,則可以校對java程式碼的redis版本和伺服器redis服務版本,這也有可能會有影響,最後還可以尋求伺服器提供商幫助,他們也可能針對6379埠做了特殊後臺的安全組埠設定。

docker啟動tomcat

1.查詢資源並下載tomcat--sudo docker search tomcat

10055699-78158a5f20ee58e9.png
查詢tomcat

sudo docker pull tomcat

10055699-7c5c70449f61c186.png
下載tomcat映象

2.sudo docker images

10055699-65b671c8ca1eb8b6.png
tomcat映象已下載

3.本例中,我們需要把RAP的war包放入tomcat容器跑動,所以掛載了宿主機的/home/tomcat/ubuntu/webapps/root包,這樣war包放入該路徑下就可以等效放入容器中了。

sudo docker run --name tomcat -p 8080:8080 -v $PWD/webapps:/usr/local/tomcat/webapps -d tomcat

10055699-3a322438cd638b85.png
掛載webapps目錄方式啟動tomcat容器

4.下載安裝包後將安裝包重新命名為ROOT.war並放入

10055699-70a6f3b56ace6529.png
下載安裝包並重新命名為ROOT.war後訪問宿主機webapps下

5.修改配置--vim ROOT/WEB-INF/classes/config.properties

10055699-3fa198a62a9c0538.png
修改mysql和redis的配置

因為此前的配置中修改過bind_address資訊,所以這裡一律將localhost改成ip,另外再新增mysql的root密碼,最後在mysql中新建rap_db的資料庫

10055699-9cc2a01826684c1f.png
修改前配置
10055699-7ecbe3a52358deca.png
修改後配置
10055699-68e3eb18e0bdc321.png
伺服器mysql新增rap_db資料庫

5.重啟tomcat

10055699-8549f1c8e68b2556.png
重啟tomcat容器

6.訪問RAP--http://xxxxxx:8080

10055699-fc8229671f5e07cc.png
訪問網站

7.開機自啟

相關文章