【實踐】Docker for Windows 製作tomcat 映象並上傳至 docker 倉庫
準備工序
1、官網下載Docker windows 版
截止到2019年2月2,連結是 https://hub.docker.com/editions/community/docker-ce-desktop-windows,exe檔案,雙擊安裝即可
2、註冊一個docker賬戶
要上傳你自己的docker容器,首先需要有自己的docker賬戶。
https://hub.docker.com/ ,註冊完後登入,效果如下,感覺和github差不多
3、安裝第一步下載的docker for windows後啟動,會發現多了一個鯨魚的小圖示:
有很多相關的功能,比如登入,檢視倉庫,還有和k8s的配合操作等等 ,switch to Windows container可以在linux和windows環境內進行切換,有一些功能可能只在linux上可以使用。
實踐操作
1、啟動 cmd,輸入docker ,可以看到,已經安裝完畢了
2、使用 docker search tomcat 查詢 所有映象中 和tomcat 相關的 ,
選擇stars最高的 執行 docker pull tomcat 拉取tomcat映象到本地
3、此時,使用 docker images 命令可以檢視當前docker內擁有的所有映象,可以看到之前下載的tomcat
4、啟動tomcat,看看能否看到正常安裝的tomcat的啟動頁面,執行命令
docker run -it --name dockerDemo -p 8080:8080 tomcat ,
這裡我們啟動一個互動式的容器,名字是dockerDemo ,-p 8080:8080表示將容器的8080埠對映到主機的8080埠,這樣我們只要訪問主機的8080埠就可以訪問到容器的服務了。(主機埠:容器埠)
出現熟悉的tomcat命令列啟動介面,此時輸入localhost:8080發現tomcat 已經正常啟動
5、此時啟動一個新的cmd,我們來檢視下 此時docker容器的當前程式與 實際 tomcat所處的目錄結構
docker ps 可以看到當前docker中啟動的所有容器,及對應的容器資訊,此處我們要關注的是containerid 容器ID,之後的操作都需要基於這個關鍵的ID
可以看到我們之前啟動的tomcat 和對應的 容器ID,紅框內顯示了上文說的 主機8080埠對映到容器內的8080。
docker exec -it 20dae1362bc7 /bin/bash 可以進入容器內部,檢視具體容器在機器上的目錄及位置,為之後上傳war包做準備
可以看到,進入目錄後在/usr/local/tomcat ;底層目錄和我們正常安裝的tomcat並無兩樣,再次輸入 exit 可以退出容器
6、接下來就是最關鍵的如何將本地的war包或者專案置入容器內的tomcat中,docker也提供了相關命令
注:war包大家可以自行準備,可以簡單的跑起來的demo即可
docker cp E:\zone\dockerdemo\target\docker-demo.war 20dae1362bc7:/usr/local/tomcat/webapps
簡單介紹一下docker cp 複製命令,docker cp 源地址(本機war包目錄地址) 目標地址(容器ID:容器內部地址)
執行完畢後,可以看到tomcat目錄下 已經有了
此時我們開啟 http://localhost:8080/docker-demo/index.jsp 發現 ,頁面已經可以訪問了
大功告成!
7、至此,簡單的tomcat在docker內的部署流程已經完成了,但是會有一個問題,每次容器重啟後,之前容器內部放置的檔案都會消失,每次重新執行run命令啟動容器,相當於一個新的黑盒,無法保留歷史檔案,所以就引申出了一個新的問題,需要打包成一個images進行持續性管理!
8、在6的基礎上,執行以下命令
首先要提交修改,輸入指令(xxxxx是容器ID,zh69183787/demo,‘/’前面是自己的docker賬號名,後面是給容器取的名字),每次commit後都會生成新的映象,擁有獨立的imageId
docker commit 20dae1362bc7 zh69183787/test
預設生成的映象tag是latest,之後是none,如果想使用自己的tag的話,可以在 zh69183787/test:v2,加上tag
此時,輸入 docker images 就會發現,已經生成了一個新的映象images,tag就是commit時選填項,v2
之後就可以基於這個映象進行檔案的管理了。
9、最後還可以通過docker hub 將自己的映象傳入遠端docker 倉庫中,和github類似的一套機制
docker login 登入 docker 賬戶,我這邊由於docker 鯨魚小圖示啟動後自己進行了登入,所以就直接生效了
將倉庫上傳至映象 docker push zh69183787/test:latest (latest是標籤,docker images後TAG一欄就是了)
最後看一眼 docker hub
如果之前commit了不同映象並且有不同的tag,點選某一個images後會發現tag下有N個提交版本
有了 ok,之後可以通過 docker pull zh69183787/test,拉取遠端倉庫的 images 了,感覺 commit 和 tag版本 都和git異曲同工,可以自行了解一下細節
參考:
相關文章
- docker製作自己的映象並上傳dockerhubDocker
- 如何將docker 映象上傳到docker hub倉庫Docker
- 基於滴滴雲安裝 Docker 並上傳映象到滴滴雲 Docker 倉庫Docker
- windows系統用docker構造映象上傳私有倉庫WindowsDocker
- Docker進階與實踐之四:Docker映象倉庫Docker
- 製作 Python Docker 映象的最佳實踐PythonDocker
- Dokcer製作nginx映象,提交映象至倉庫Nginx
- 製作Docker映象Docker
- 在宿主機上搭建docker映象倉庫Docker
- Docker製作jdk映象DockerJDK
- Docker 映象製作方法Docker
- YashanDB Docker映象製作Docker
- oracle製作docker映象OracleDocker
- Docker搭建私有映象倉庫Docker
- 如何打包Docker映象並推送到遠端倉庫Docker
- Docker二所映象製作Docker
- Docker 如何把映象上傳到docker hubDocker
- 建立 Docker 映象倉庫指令碼Docker指令碼
- docker 映象倉庫 Harbor 部署 以及 跨資料複製Docker
- Docker 私有倉庫,上傳映象報錯:server gave HTTP response to HTTPS clientDockerServerHTTPclient
- docker 製作與使用 arcgisserver 映象DockerServer
- Docker映象倉庫清理的探索之路Docker
- Docker企業級映象倉庫HarborDocker
- Docker如何製作映象-Dockerfile的使用Docker
- 伺服器:如何製作docker映象伺服器Docker
- 使用 Caddy 製作前端 Docker 映象前端Docker
- centos 7 安裝docker 並設定阿里雲映象倉庫CentOSDocker阿里
- Docker進階與實踐之三:Docker映象Docker
- 容器技術之Docker私有映象倉庫docker-distributionDocker
- Docker倉庫之Registry私有映象倉庫的搭建與使用Docker
- 建立映象釋出到映象倉庫【不依賴docker環境】Docker
- springboot docker jenkins 自動化部署並上傳映象Spring BootDockerJenkins
- 容器技術之Docker私有映象倉庫harborDocker
- Docker刪除倉庫中的映象問題Docker
- Jenkins打Docker映象推送到私有倉庫JenkinsDocker
- Docker自定義映象上傳阿里雲Docker阿里
- Docker 入門系列四:Dockerfile-映象製作Docker
- 無需依賴Docker環境製作映象Docker