Jenkins如何控制多個Job進行依賴(不允許同時出現資源爭搶)
阿新 • • 發佈:2022-03-28
commit映象
docker commit 從容器建立一個新的映象。
docker commit 提交容器副本使之成為一個新的映象
#語法
docker commit -m="提交的描述資訊" -a="作者" 容器id 要建立的目標映象名:[標籤名]
示例:docker commit -a="zzz" -m="add zzz app" 7e119b82cff6 tomcat02:1.0
docker images #檢視映象
說明:
-a :提交的映象作者;
-c :使用Dockerfile指令來建立映象;
-m :提交時的說明文字;
-p :在commit時,將容器暫停。
測試
# 1、從Docker Hub 下載tomcat映象到本地並執行 -it 互動終端 -p 埠對映 docker run -it -p 8080:8080 tomcat # 注意:坑爹:docker啟動官方tomcat映象的容器,發現404是因為使用了加速器,而加速器裡的 tomcat的webapps下沒有root等檔案! # 下載tomcat官方映象,就是這個映象(阿里雲裡的tomcat的webapps下沒有任何檔案) # 進入tomcat檢視cd到webapps下發現全部空的,反而有個webapps.dist裡有對應檔案,cp -r到webapps下! root@aba865b53114:/usr/local/tomcat# cp -r webapps.dist/* webapps # 2、刪除上一步映象產生的tomcat容器的文件 docker ps # 檢視容器id docker exec -it 容器id /bin/bash /usr/local/tomcat # ce webapps/ /usr/local/tomcat/webapps # ls -l # 檢視是否存在 docs資料夾 /usr/local/tomcat/webapps # curl localhost:8080/docs/ # 可以看到 docs 返回的內容 /usr/local/tomcat/webapps # rm -rf docs # 刪除它 /usr/local/tomcat/webapps # curl localhost:8080/docs/ # 再次訪問返回404 # 3、當前執行的tomcat例項就是一個沒有docs的容器,我們使用它為模板commit一個沒有docs的 tomcat新映象, tomcat02 docker ps -l # 檢視容器的id # 注意:commit的時候,容器的名字不能有大寫,否則報錯:invalid reference format docker commit -a="zzz" -m="no tomcat docs" 1e98a2f815b0 tomcat02:1.1 sha256:cdccd4674f93ad34bf73d9db577a20f027a6d03fd1944dc0e628ee4bf17ec748 [root@docker /]# docker images # 檢視,我們自己提交的映象已經OK了! REPOSITORY TAG IMAGE ID CREATED SIZE tomcat02 1.1 cdccd4674f93 About a minute ago 649MB redis latest f9b990972689 9 days ago 104MB tomcat latest 927899a31456 2 weeks ago 647MB centos latest 470671670cac 3 months ago 237MB # 4、這個時候,我們的映象都是可以使用的,大家可以啟動原來的tomcat,和我們新的tomcat02來 測試看看! [root@docker ~]# docker run -it -p 8080:8080 tomcat02:1.1 # 如果你想要儲存你當前的狀態,可以通過commit,來提交映象,方便使用,類似於 VM 中的快照!