Ubuntu下啟用docker並安裝mysql|redis|tomcat|rap
RAP文案是一個project,可放在tomcat下執行,啟動過程中需要用到mysql和redis。
本例中使用docker來安裝並啟動RAP。
docker的安裝啟用
1.安裝docker---sudo apt-get install -y docker.io
![10055699-81fd928f25a3de20.png](https://upload-images.jianshu.io/upload_images/10055699-81fd928f25a3de20.png)
2.啟動docker--sudo service docker start
![10055699-9949c7cd9a186514.png](https://upload-images.jianshu.io/upload_images/10055699-9949c7cd9a186514.png)
3.檢視docker映象
![10055699-e9d3ed07acf222d1.png](https://upload-images.jianshu.io/upload_images/10055699-e9d3ed07acf222d1.png)
docker內啟動mysql
1.查詢mysql資源--sudo docker search mysql
![10055699-b1091d7d38bad012.png](https://upload-images.jianshu.io/upload_images/10055699-b1091d7d38bad012.png)
這裡我們選用第一個mysql的倉庫資源就可以了
2.下載mysql資源--sudo docker pull mysql
![10055699-f7adf7135f4f6a57.png](https://upload-images.jianshu.io/upload_images/10055699-f7adf7135f4f6a57.png)
![10055699-568195e0150678bc.png](https://upload-images.jianshu.io/upload_images/10055699-568195e0150678bc.png)
3.檢視docker映象--sudo docker images
![10055699-1eaa840a35cdd0ac.png](https://upload-images.jianshu.io/upload_images/10055699-1eaa840a35cdd0ac.png)
4.使用mysql映象啟動mysql服務--sudo docker run --name mysql -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=123456 -d f00
![10055699-ce4c0ec92dfec0ff.png](https://upload-images.jianshu.io/upload_images/10055699-ce4c0ec92dfec0ff.png)
啟動服務後,本機是可以進入mysql的,但遠端連線發現失敗,這是因為mysql初始化的配置是不支援遠端去訪問的。則需要進入mysql容器內修改一些允許遠端訪問的配置。若遠端可以訪問則跳過第5步
5.設定遠端可訪問
進入容器內部--sudo docker exec -it mysql bash
![10055699-1b7ecc4516ad3864.png](https://upload-images.jianshu.io/upload_images/10055699-1b7ecc4516ad3864.png)
容器內更新apt-get庫並安裝vim
apt-get update
![10055699-abebf3afd15239df.png](https://upload-images.jianshu.io/upload_images/10055699-abebf3afd15239df.png)
apt-get install vim
![10055699-c44f81588350952a.png](https://upload-images.jianshu.io/upload_images/10055699-c44f81588350952a.png)
此時可以使用vim去開啟配置並修改--vim /etc/mysql/mysql.conf.d/mysqld.cnf
![10055699-fc31457bb08cc824.png](https://upload-images.jianshu.io/upload_images/10055699-fc31457bb08cc824.png)
![10055699-831137f1118971e9.png](https://upload-images.jianshu.io/upload_images/10055699-831137f1118971e9.png)
我們選的這個映象的bind_address本來就是被註釋的,所以可以不更改,也可以開啟註釋並將值改為0.0.0.0
接著進入mysql資料庫--mysql -uroot -p123456
![10055699-28b66a864135d79e.png](https://upload-images.jianshu.io/upload_images/10055699-28b66a864135d79e.png)
use mysql
select host,user from user;
![10055699-0a3c5837b59b10ce.png](https://upload-images.jianshu.io/upload_images/10055699-0a3c5837b59b10ce.png)
當看到root賬戶的host為%時則,表明可以遠端訪問了,如果root的host不為%則直接使用sql語句update就行了。當然你也可以新增使用者並將它的host設為%,再用這個新使用者登入
![10055699-ef73988d730020e3.png](https://upload-images.jianshu.io/upload_images/10055699-ef73988d730020e3.png)
若剛才進入容器並做了修改,則通過commit來提交剛才的修改,第一個mysql是容器名,後一個mysql是映象名,當然也可以用容器id和映象id
sudo docker commit mysql mysql
![10055699-b3db0ca41a0c160a.png](https://upload-images.jianshu.io/upload_images/10055699-b3db0ca41a0c160a.png)
![10055699-8265ac2407961da8.png](https://upload-images.jianshu.io/upload_images/10055699-8265ac2407961da8.png)
![10055699-e529eb7de256b38f.png](https://upload-images.jianshu.io/upload_images/10055699-e529eb7de256b38f.png)
![10055699-caa9e8d1ac780375.png](https://upload-images.jianshu.io/upload_images/10055699-caa9e8d1ac780375.png)
![10055699-1e11d80e3907b8ad.png](https://upload-images.jianshu.io/upload_images/10055699-1e11d80e3907b8ad.png)
docker內啟動redis
1.查詢資源--sudo docker search redis
![10055699-1bcff811b5291bee.png](https://upload-images.jianshu.io/upload_images/10055699-1bcff811b5291bee.png)
2.下載並檢視映象--sudo docker pull redis
![10055699-f12abaacc59ebd91.png](https://upload-images.jianshu.io/upload_images/10055699-f12abaacc59ebd91.png)
3.啟動redis容器--sudo docker run --name redis -p 6379:6379 -d redis
![10055699-99992809557b5f2f.png](https://upload-images.jianshu.io/upload_images/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](https://upload-images.jianshu.io/upload_images/10055699-78158a5f20ee58e9.png)
sudo docker pull tomcat
![10055699-7c5c70449f61c186.png](https://upload-images.jianshu.io/upload_images/10055699-7c5c70449f61c186.png)
2.sudo docker images
![10055699-65b671c8ca1eb8b6.png](https://upload-images.jianshu.io/upload_images/10055699-65b671c8ca1eb8b6.png)
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](https://upload-images.jianshu.io/upload_images/10055699-3a322438cd638b85.png)
4.下載安裝包後將安裝包重新命名為ROOT.war並放入
![10055699-70a6f3b56ace6529.png](https://upload-images.jianshu.io/upload_images/10055699-70a6f3b56ace6529.png)
5.修改配置--vim ROOT/WEB-INF/classes/config.properties
![10055699-3fa198a62a9c0538.png](https://upload-images.jianshu.io/upload_images/10055699-3fa198a62a9c0538.png)
因為此前的配置中修改過bind_address資訊,所以這裡一律將localhost改成ip,另外再新增mysql的root密碼,最後在mysql中新建rap_db的資料庫
![10055699-9cc2a01826684c1f.png](https://upload-images.jianshu.io/upload_images/10055699-9cc2a01826684c1f.png)
![10055699-7ecbe3a52358deca.png](https://upload-images.jianshu.io/upload_images/10055699-7ecbe3a52358deca.png)
![10055699-68e3eb18e0bdc321.png](https://upload-images.jianshu.io/upload_images/10055699-68e3eb18e0bdc321.png)
5.重啟tomcat
![10055699-8549f1c8e68b2556.png](https://upload-images.jianshu.io/upload_images/10055699-8549f1c8e68b2556.png)
6.訪問RAP--http://xxxxxx:8080
![10055699-fc8229671f5e07cc.png](https://upload-images.jianshu.io/upload_images/10055699-fc8229671f5e07cc.png)
7.開機自啟
相關文章
- ubuntu20安裝docker、redis、mysql及部署net6應用UbuntuDockerRedisMySql
- docker安裝redis並以配置檔案方式啟動DockerRedis
- Ubuntu下docker安裝及簡單應用UbuntuDocker
- ubuntu下安裝mysqlUbuntuMySql
- 使用docker安裝mysql和redisDockerMySqlRedis
- docker 安裝mysql redis activemq rabbitmqDockerMySqlRedisMQ
- Ubuntu下maven安裝和tomcat簡易安裝UbuntuMavenTomcat
- Docker最全教程之Ubuntu下安裝Docker(十四)DockerUbuntu
- 【Docker快速入門】在Ubuntu下安裝DockerDockerUbuntu
- Ubuntu Docker 安裝UbuntuDocker
- ubuntu安裝dockerUbuntuDocker
- ubuntu安裝redisUbuntuRedis
- Docker開發篇 | 01-Docker安裝最新版本ubuntu並啟動容器DockerUbuntu
- [linux]ubuntu下解除安裝openjdk並安裝sunjdkLinuxUbuntuJDK
- Docker 安裝 TomcatDockerTomcat
- docker 安裝tomcatDockerTomcat
- Ubuntu 16.0.4 Linux下安裝DockerUbuntuLinuxDocker
- Ubuntu22.04下Docker的安裝UbuntuDocker
- docker 安裝mysql並掛載資料DockerMySql
- Linux 下 docker 安裝 MySQLLinuxDockerMySql
- docker安裝redisDockerRedis
- MySQL下載並安裝(Windows)MySqlWindows
- 在linux下安裝並操作tomcatLinuxTomcat
- Ubuntu下Java、Nginx和Tomcat的安裝部署UbuntuJavaNginxTomcat
- ubuntu16.04 下安裝mysqlUbuntuMySql
- Linux上安裝jdk Tomcat mysql redis等LinuxJDKTomcatMySqlRedis
- Ubuntu中安裝DockerUbuntuDocker
- ubuntu 中安裝 RedisUbuntuRedis
- Ubuntu 上 安裝 redisUbuntuRedis
- UBuntu16.04下安裝Docker(親測)UbuntuDocker
- ubuntu16.04系統下安裝dockerUbuntuDocker
- Redis——急速安裝並設定自啟(CentOS)RedisCentOS
- 在 Ubuntu18.04 下 安裝 RedisUbuntuRedis
- ubuntu 下安裝redis 以及php擴充套件UbuntuRedisPHP套件
- [mysql]ubuntu安裝mysqlMySqlUbuntu
- windows下安裝jdk+tomcat+maven並配置WindowsJDKTomcatMaven
- Windows下安裝 Apache PHP Mysql RedisWindowsApachePHPMySqlRedis
- Docker上安裝RedisDockerRedis