欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker compose up -d與Docker restart的區(qū)別

 更新時間:2023年07月18日 09:24:52   作者:ginkov  
本文主要介紹了Docker compose up -d與Docker restart的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

背景 - 有時需要臨時在容器內(nèi)進行修改

Docker給現(xiàn)場部署帶來了很大的方便。我們可以把代碼和依賴都封到 Docker 鏡像里,然后通過Docker 加載成容器,輕松部署。

另外,我們還可以通過 Docker-compose 把多個容器,比如 Nginx 容器,應用容器,數(shù)據(jù)庫容器給編織起來,形成一整套服務。

但是,有些時候,到了現(xiàn)場,我們需要對臨時代碼進行一些小的調(diào)整和修改。
調(diào)整之后,往往需要重啟容器或服務,使修改生效。這時,人們往往會用到:

  • docker restart 容器名 , 或者
  • docker-compose up -d

進行容器重啟。但是這兩者有什么區(qū)別呢?

docker-compose up -d

如果我們對 docker-compose.yml 進行了修改,比如,增加或者修改了:

  • 暴露的端口
  • 映射出來的文件
  • 環(huán)境變量

這時,使用 docker-compose up -d 可以使這些修改生效。
但是要注意,docker-compose up -d 會:

  • 停止原來的容器
  • 刪除原來的容器
  • 使用新的參數(shù),結合原始鏡像文件,創(chuàng)建一個新的容器提供服務

這時,在原有容器中做得修改,如果沒有使用 docker-commit 做持久化,就會被沖掉,不會留下來。

docker restart 容器名

如果使用 docker restart 容器名,對容器進行重啟。則之前在 docker 容器中做得臨時修改,不會被沖掉。docker 會使用修改后的代碼提供服務。
但是,這種方式?jīng)]有辦法修改 docker-compose 中暴露的端口號,沒有辦法進行 volume 映射等操作。

使用 docker commit 保留臨時的修改

如果現(xiàn)場測試后,覺得這些臨時修改沒有問題,希望保留,可以在宿主機上,使用 docker commit 容器名 鏡像名:標簽 ,把臨時的修改 commit 到鏡像中。

這樣,即使之后再使用 docker-compose up -d,只要在 docker-compose.yml 文件中,使用 commit 后的 鏡像名:標簽,之前的修改也可以保留。

舉例

在容器里臨時修改代碼

如果在現(xiàn)場,我們發(fā)現(xiàn) docker 容器中的一段 python 代碼需要修改,可以
docker exec -it 容器名 /bin/sh 進入容器,找到相應的代碼進行修改。

修改之后,可以在宿主機上,使用 docker restart 容器名 進行重啟。修改的代碼會生效。

調(diào)整 docker-compose.yml 中的配置

如果在現(xiàn)場,發(fā)現(xiàn)要修改容器的端口,或者增加或修改環(huán)境變量配置。則需要修改 docker-compose.yml。然后使用 docker-compose up -d 使修改后的配置生效。
但是,要注意:docker-compose up -d 會 停止并刪除原有的鏡像,并使用系統(tǒng)中原有的鏡像,結合 docker-compose.yml 中的新配置來 生成一個新的鏡像,提供服務。

這時,如果原有容器中,有臨時修改,比如在原容器里修改了某一段 python 代碼,則這些修改會被 沖掉。

所以,在使用時,要千萬小心。

使用 docker commit 把容器的修改保存到鏡像中

比如,我們在現(xiàn)場的 my_container 容器中,修改了一些代碼,我們希望把這些修改保留下來。
假設這個容器對應的鏡像名是 my_image:1.0.1,則我們可以在宿主機上,使用:

docker commit my_container my_image:1.0.1

把修改保存到原鏡像中。當然,你也可以把修改保存到 my_image:1.0.2 。
但要記得對 docker-compose.yml 文件中,把對應的鏡像名稱,也改為 my_image:1.0.2。

以上描述的方式,比較適合現(xiàn)場沒有互聯(lián)網(wǎng)連接的場景。

到此這篇關于Docker compose up -d與Docker restart的區(qū)別的文章就介紹到這了,更多相關Docker compose up -d與Docker restart內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Docker部署Tomcat及Web應用的實現(xiàn)

    Docker部署Tomcat及Web應用的實現(xiàn)

    這篇文章主要介紹了Docker部署Tomcat及Web應用的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • Docker的進程和Cgroup概念詳解

    Docker的進程和Cgroup概念詳解

    文章主要介紹了容器內(nèi)的進程組織和關系,包括containerd-shim和容器內(nèi)1號進程的角色和特點,以及信號處理機制,同時,文章還討論了Cgroup在Linux系統(tǒng)中用于資源管理和控制的機制,包括CFS調(diào)度算法和Kubernetes中的資源管理,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • Docker 跨主機容器間相互訪問的實現(xiàn)

    Docker 跨主機容器間相互訪問的實現(xiàn)

    本文主要介紹了Docker 跨主機容器間相互訪問的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • IDEA集成docker實現(xiàn)遠程部署的步驟

    IDEA集成docker實現(xiàn)遠程部署的步驟

    本文主要介紹了IDEA集成docker實現(xiàn)遠程部署的步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Docker鏡像加載原理

    Docker鏡像加載原理

    Docker鏡像是Docker容器運行的基礎,沒有Docker鏡像,就不可能有Docker容器,這也是Docker的設計原則之一 ,本文給大家介紹Docker鏡像加載原理,感興趣的朋友一起看看吧
    2021-06-06
  • docker之如何設置日志文件大小及個數(shù)

    docker之如何設置日志文件大小及個數(shù)

    這篇文章主要介紹了docker之如何設置日志文件大小及個數(shù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • docker 安裝nacos并配置數(shù)據(jù)庫的教程詳解

    docker 安裝nacos并配置數(shù)據(jù)庫的教程詳解

    這篇文章主要介紹了docker 安裝nacos并配置數(shù)據(jù)庫的教程詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Docker數(shù)據(jù)卷容器創(chuàng)建及使用方法解析

    Docker數(shù)據(jù)卷容器創(chuàng)建及使用方法解析

    這篇文章主要介紹了Docker數(shù)據(jù)卷容器創(chuàng)建及使用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • Docker容器間通訊直接路由方式實現(xiàn)網(wǎng)絡通訊

    Docker容器間通訊直接路由方式實現(xiàn)網(wǎng)絡通訊

    今天小編就為大家分享一篇關于Docker容器間通訊直接路由方式實現(xiàn)網(wǎng)絡通訊,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Ceph集群Docker容器化部署過程

    Ceph集群Docker容器化部署過程

    這篇文章主要介紹了Ceph集群Docker容器化部署過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評論