中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

docker中鏡像的commit怎么用

發布時間:2021-11-19 11:20:45 來源:億速云 閱讀:256 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關docker中鏡像的commit怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

    docker commit:表示提交容器副本使之成為一個新的鏡像。假設我們在docker中運行了一個Tomcat容器,我們在tomcat容器中做了一些我們自定義的修改,然后我們這個修改的tomcat容器進行commit,這樣我們就形成了一個新的自定義鏡像。

    命令格式:docker commit -m="提交的描述信息" -a="作者"  容器id  要創建的目標鏡像名:[標簽名]

    案例演示

    1、從hub上下載tomcat鏡像到本地并成功運行    

        說明:-p是指定端口,-P是隨機端口       

[root@t-docker chenzx]# docker images tomcat
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
tomcat              latest              690cb3b9c7d1        7 days ago          463MB
[root@t-docker chenzx]# docker run -it -p 8888:8080 tomcat
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /docker-java-home/jre
30-Aug-2018 08:37:01.728 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
30-Aug-2018 08:37:01.736 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
30-Aug-2018 08:37:01.739 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 555 ms
[root@t-docker chenzx]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
5c83a1f3aea4        tomcat              "catalina.sh run"   8 minutes ago       Up 8 minutes        0.0.0.0:8888->8080/tcp   quirky_zhukovsky
[root@t-docker chenzx]# docker run -it -P tomcat
[root@t-docker chenzx]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES
54a817e3ce05        tomcat              "catalina.sh run"   21 seconds ago      Up 19 seconds       0.0.0.0:32768->8080/tcp   confident_leavitt

     2、故意刪除上一步鏡像生成的tomcat容器文檔

[root@t-docker chenzx]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES
54a817e3ce05        tomcat              "catalina.sh run"   17 minutes ago      Up 17 minutes       0.0.0.0:32768->8080/tcp   confident_leavitt
[root@t-docker chenzx]# docker exec -it 54a817e3ce05 /bin/bash
root@54a817e3ce05:/usr/local/tomcat# cd webapps/
root@54a817e3ce05:/usr/local/tomcat/webapps# ls -l
total 4
drwxr-x---  3 root root  306 Aug 23 00:47 ROOT
drwxr-x--- 14 root root 4096 Aug 23 00:47 docs
drwxr-x---  6 root root   83 Aug 23 00:47 examples
drwxr-x---  5 root root   87 Aug 23 00:47 host-manager
drwxr-x---  5 root root  103 Aug 23 00:47 manager
root@54a817e3ce05:/usr/local/tomcat/webapps# rm -rf docs/
root@54a817e3ce05:/usr/local/tomcat/webapps# ls -l
total 0
drwxr-x--- 3 root root 306 Aug 23 00:47 ROOT
drwxr-x--- 6 root root  83 Aug 23 00:47 examples
drwxr-x--- 5 root root  87 Aug 23 00:47 host-manager
drwxr-x--- 5 root root 103 Aug 23 00:47 manager

    3、通過上一步,當前的Tomcat運行實例是一個沒有文檔內容doc目錄的容器,以它為模板commit一個沒有doc的tomcat新鏡像chenzx/tomcat02,chenzx就是自己取的命名空間

[root@t-docker chenzx]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES
54a817e3ce05        tomcat              "catalina.sh run"   26 minutes ago      Up 26 minutes       0.0.0.0:32768->8080/tcp   confident_leavitt
[root@t-docker chenzx]# docker commit -a='xiaoxin' -m='del tomcat docs' 54a817e3ce05 chenzx/tomcat02:1.2
sha256:24c3d89d4d043e4fb97f0cf4f3b94bcf96b5600a062fc8de4e39a7763d20badf
[root@t-docker chenzx]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
chenzx/tomcat02     1.2                 24c3d89d4d04        7 seconds ago       463MB
tomcat              latest              690cb3b9c7d1        7 days ago          463MB

    4、把正在運行的容器全部刪除

[root@t-docker chenzx]# docker rm -f $(docker ps -q)
54a817e3ce05
[root@t-docker chenzx]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

    5、以我們自定義的鏡像生成一個新的容器

[root@t-docker chenzx]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
chenzx/tomcat02     1.2                 24c3d89d4d04        6 minutes ago       463MB
tomcat              latest              690cb3b9c7d1        7 days ago          463MB
centos              latest              5182e96772bf        3 weeks ago         200MB
[root@t-docker chenzx]# 
[root@t-docker chenzx]# docker run -it -P chenzx/tomcat02:1.2 
[root@t-docker chenzx]# docker ps
CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS              PORTS                     NAMES
c6c68b224e84        chenzx/tomcat02:1.2   "catalina.sh run"   24 seconds ago      Up 24 seconds       0.0.0.0:32770->8080/tcp   awesome_sammet

    可以看到,我們用自定義的jtomcat1.2鏡像,生成的容器里面沒有doc目錄

    6、啟動我們的新鏡像并和原來的鏡像對比

    啟動chenzx/tomcat1.2,它沒有docs目錄

    啟動原來tomcat。它有docs目錄

    7、以守護式方式啟動tomcat容器(-d參數)

[root@t-docker chenzx]# docker run -d -p 6666:8080 tomcat
23b4ec6f24b854f682631c5a9b6bcfc0c685dbec46d1867faea4b534f5791452
[root@t-docker chenzx]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
23b4ec6f24b8        tomcat              "catalina.sh run"   5 seconds ago       Up 4 seconds        0.0.0.0:6666->8080/tcp   flamboyant_almeida

關于“docker中鏡像的commit怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

奉新县| 大城县| 静乐县| 高邮市| 都昌县| 中超| 慈溪市| 澄江县| 综艺| 吐鲁番市| 信宜市| 双流县| 承德县| 曲阜市| 祁连县| 临武县| 霞浦县| 甘肃省| 张家川| 阿拉善右旗| 隆林| 习水县| 陕西省| 井研县| 长汀县| 神池县| 荔波县| 湘阴县| 达拉特旗| 集贤县| 枞阳县| 共和县| 栾川县| 南和县| 灵山县| 白城市| 盈江县| 铁岭县| 乐安县| 合江县| 阳泉市|