上週項目組開設了一些技術交流會,在交流會上向我們普及了Docker的使用,於是回到家就有些躍躍欲試,想初步探索一下Docker的便捷與強大。於是就嘗試使用Docker在自己的服務器上搭設一個小網站。
什麼是Docker?類比到生活中就是一艘裝着集裝箱的貨輪。這艘巨大的貨輪就如同一臺服務器,而每一個集裝箱就是這服務器上一個個小小的容器,每個容器內部裝載着不同的貨物,由於集裝箱的尺寸都是統一的,這也就意味着這個集裝箱可以被不同的貨輪承載,也就滿足了所謂的跨平臺。集裝箱內部貨物不同,意味着每個集裝箱是一個獨特的環境,不同的集裝箱環境可以被不同的貨輪裝載,這就是容器技術。許多運維人員頭疼的系統環境配置問題在Docker技術面前就迎刃而解了。Docker技術實現了把系統一次部署,到處運行的美好願景。
這周我嘗試在服務器上配置了Docker,並創建容器,配置tomcat,部署war包,使得自己的網站Demo在Docker容器中運行起來。
目前的Docker對Linux的支持是比較完善的,本人的服務器是阿里雲的Centos7系統,下載Docker的過程就不在這兒闡述了。以下的操作都是基於命令行。
- 在docker hub 上搜索tomcat包(docker hub類似於GitHub)
docker search tomcat
- 從Docker hub上獲取tomcat
docker pull tomcat
- 查看Docker運行的tomcat鏡像文件
docker images | grep tomcat
- 嘗試運行tomcat,並將容器的8080端口映射到服務器的8080端口
docker run --name tomcat -p 8080:8080 -v $PWD/test:/usr/local/tomcat/webapps/test -d tomcat
- 查看容器的ID以及容器鏡像信息(記得記錄容器ID)
docker ps
- 通過容器ID進入容器鏡像中(其中f26b1就是容器ID)
docker exec -it f26b1 /bin/bash
- 更新容器所在環境
apt update
- 爲容器內配置相應的開發工具
apt install vim
apt install lrzsz
- 通過FTP等手段將war包上傳到服務器,然後將war包複製到docker鏡像中(f26b1爲容器ID)
docker cp ssm-demo.war f26b1:/usr/local/tomcat/webapps
- 重啓該容器,使得war包被加載
docker restart f26b1
- 訪問服務器IP:8080/war包名字