docker安裝使用以及tomcat部署超級詳解

一,準備階段

docker官網:https://docs.docker.com/get-started/
docker hub:https://www.docker.com/products/docker-hub
一臺雲服務器:https://swas.console.aliyun.com/#/servers,儘量選centos版本安裝。由於貧窮,本人只能使用一臺學生機,還是最低配置1核2G,不過完全夠用了

二,安裝docker

1,打開xshell連接服務器
2,下載安裝包

sudo yum install -y yum-utils

3,設置倉庫鏡像

yum-config-manager \
			--add-repo \
			http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4,更新yum軟件包索引

yum makecache fast

5,安裝相關的docker docker-ce爲社區版 docker-ee 爲企業版

yum install docker-ce docker-ce-cli containerd.io

6,啓動docker

systemctl start docker

7,查看是否安裝成功,如若出現安裝成功,則會顯示docker的信息

docker version

8,查看鏡像,由於並沒有安裝東西,所以應該是空的

docker images

9,卸載docker,如若需要的話,不需要則跳過

#卸載依賴
yum remove docker-ce docker-ce-cli containerd.io
#刪除資源
rm -rf /var/lib/docker

10,如需重新安裝的話,則需要卸載舊版本.不需要則跳過

三,安裝tomcat

1,在此之前,由於本人遇到了比較多的坑,因此經常需要做的一件事就是,重啓docker,不管三七二十一,重啓解決一半問題

sudo service docker restart

2,由於這個docker是外國人寫的,因此呢下載東西的話也是需要阿里雲鏡像加速的。打開阿里雲,再打開控制檯,搜索容器鏡像,就能找到鏡像加速服務了,把這一大段輸入即可xhell即可,這樣下載東西就非常的快了。每個服務器都有屬於自己的加速器,用別人的估計也沒啥用吧
在這裏插入圖片描述

在這裏插入圖片描述
3,下載centos鏡像

docker pull centos

4,準備下載tomcat了。如果需要制定版本的話
可以去 https://www.docker.com/products/docker-hub 上面輸入查詢,把自己想要的版本找到即可
也可以直接通過search 進行查找,如查找tomcat

docker search tomcat

接下來就開始下載了,由於本地使用的是tomcat9.0,因此下載tomcat9.0就行了

docker pull tomcat:9.0

如果不指定版本的話,則默認下載最新版本,裝了鏡像下載大家就可以發現超級快
5,查看該鏡像是否安裝成功,即查看所有的鏡像

docker images

這是本人安裝的一部分,可以發現tomcat在這裏面了,版本也是9.0
在這裏插入圖片描述
6,安裝成功之後就開始運行鏡像了

docker run -d -p 8080:8080 --name tomcatqaq tomcat:9.0

解釋一下:

	-d :就是以後臺運行方式運行  也可以 -t :以交互式運行
	-p :暴露端口號第一個8080是暴露linux 的端口號,這樣外部才能連接linux
				 第二個端口號暴露的是容器的端口號,這樣linux才能連接容器
		這樣外部就能通過服務器訪問容器了
	--name:給容器取名
	tomcat:9.0:運行時加上版本,指定是這個服務器

在這裏插入圖片描述

7,鏡像運行後,可以通過ps查看正在運行的容器,就能發現剛剛運行的已經在運行了

docker ps
docker ps -a :用於查看最近全部運行過的容器

在這裏插入圖片描述
刪除容器,這個看需求,說說我遇到的坑吧,就是將我雲服務器開發的端口都試了一大堆,最後發現只能8080:8080才能訪問,一次直接遞歸刪除所有的容器,這樣端口自然就解放出來了

docker rm id:不能刪除正在運行的容器,否則需要使用rm -rf刪除
docker rm -f $(docker ps -aq) 遞歸刪除所有的容器	

8,關閉防火牆,如果沒有關閉防火牆,那麼curl連接肯定失敗,這也是我遇見的坑

service firewalld status :查看狀態
service firewalld stop:關閉防火牆

9,阿里雲開啓允許訪問的端口號,由於本人用的是輕量級阿里雲服務,就是學生機,所以直接在防火牆那裏就能找到。如果不是學生機,就可以在自己的服務器創建本實例安全組了
在這裏插入圖片描述
10,測試
使用curl測試端口號,通過ps 可以查出運行狀態以及端口號,測試即可。可以發現出現頁面404,說明可以訪問了,只是路徑出現問題
在這裏插入圖片描述
也可以在瀏覽器測試,也出現此頁面。
在這裏插入圖片描述
這也是我遇到的一個大坑,以爲我之前訪問的是 宿主機ip:8080 ,一直訪問失敗,後面才發現,原來是要自己的服務器的 外網:8080 才能訪問






11,由於404,肯定是頁面出現問題,所以就進去webapps下找
進入正在運行的tomcat9.0容器

docker exec -it tomcatqaq /bin/bash

在這裏插入圖片描述
進入後可以發現兩個重要的webapps以及webapps.dist
在自己tomcat可以發現,下面的東西時全部存在webapps文件夾下的,
點開webapps時發現爲空
在這裏插入圖片描述
原來這個tomcat是被docker給閹割了,就是將原本屬於webapps下面的全部東西放入到webapps.dist文件下面了
在這裏插入圖片描述





接下來就好辦了,可以cp賦值過去,也可以rm移動過去,當然還可以直接刪除webapps文件,再將webapps.dist重命名爲webapps。這裏選擇複製
在這裏插入圖片描述
再切換到webapps,就能發現裏面有東西了
在這裏插入圖片描述


12,完成以上步驟,就可以進行最終的測試了
可能需要30s左右,我們就能在瀏覽器上訪問了。一定要用這個外網ip,而不是宿主機ip,真的我進這個坑一上午。就能出現熟悉的·界面了
在這裏插入圖片描述
curl 0.0.0.0:8080
在這裏插入圖片描述
大功告成!




四,總結,遇到的坑

1,修改root@後的別名

		vi /etc/hostname

2,關閉防火牆

systemctl stop firewalld.service
systemctl disable firewalld.service

3,如何解決端口映射過多而導致端口被佔用問題,刪除容器即可

docker rm id:不能刪除正在運行的容器,否則需要使用rm -rf刪除
docker rm -f $(docker ps -aq) 遞歸刪除所有的容器

4,使用的端口映射路徑使用8080
5,瀏覽器訪問用服務器外網ip
6,重啓解決百分之50問題

1,重啓docker:sudo service docker restart
2,啓動services文件:systemctl enable docker
五,tomcat安裝成功!

如需更多的命令,請訪問官方文檔:
https://docs.docker.com/get-started/

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