1. 程式人生 > 其它 >Jenkins如何控制多個Job進行依賴(不允許同時出現資源爭搶)

Jenkins如何控制多個Job進行依賴(不允許同時出現資源爭搶)

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 中的快照!