最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何修改docker官方鏡像內(nèi)部內(nèi)容并重新build鏡像

 更新時間:2024年08月08日 17:12:28   作者:大王我親自來巡山  
這篇文章主要介紹了如何修改docker官方鏡像內(nèi)部內(nèi)容并重新build鏡像問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

應(yīng)用場景

在某些情況下,我們可能需要修改官方的docker鏡像,不過,首先需要搞明白,鏡像:image 和容器:container 的區(qū)別:

  • 鏡像image:類似于java中的類
  • 容器container:類似于java中的對象

因此,我們往往從docker hub下載官方鏡像,然后,把鏡像部署到服務(wù)器,然后,我們真正用到該服務(wù)的時候,往往是根據(jù)該鏡像生成一個容器,然后運(yùn)行容器。

和java中類和對象的概念很像,鏡像就是類,根據(jù)類生成對象后,真正使用的是對象,對應(yīng)docker就是容器。

修改官方docker鏡像

首先,明白了前面關(guān)于鏡像和容器的概念,我們就會明白,我們需要修改的是鏡像,如果我們只是在容器運(yùn)行時做改動,則不會影響到鏡像。

下面就以我的一個例子來詳細(xì)說一下:

我的需求是更新matomo鏡像中的Apache http server版本

1.下載鏡像

首先,下載鏡像,可以從docker hub或者從自己的服務(wù)器下載。

我本來想著,既然更新的是matomo中的Apache http server版本,那我直接把matomo更新到最新不就好了?

可惜,結(jié)果不如我所想,最新的matomo中,Apache仍然版本過低,所以,只能修改官方鏡像了

2.啟動容器

查找所有鏡像:

docker images

找到你需要修改的鏡像,保存下鏡像id

然后,進(jìn)入你要修改的鏡像(其實(shí)就是運(yùn)行該鏡像的容器):

docker run -it ‘鏡像id' /bin/sh

此時,你會進(jìn)入容器內(nèi)部的shell命令行,其實(shí)就是一個微型的Linux系統(tǒng),然后就可以用Linux命令操作該容器,我在這里是升級了Apache版本:

你可以在這里做你需要的改動

apt-get update //獲取更新信息
apt-get upgrade //更新版本

如果發(fā)生以下錯誤

$ apt-get update
Reading package lists... Done
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/

說明權(quán)限問題,有可能你不知道密碼,所以,此時,保持當(dāng)前窗口中容器的運(yùn)行,不要動,再打開一個終端。

在新的終端中,輸入

docker ps -a

根據(jù)鏡像id,找到你在另一個終端中正在運(yùn)行的容器

注意:

為什么要掛著另一個終端,就是因?yàn)椋械娜萜魅绻顺?,就找不到容器id了,下面的命令需要用到容器id

docker exec -u root -it <container_id> /bin/bash

此時就通過管理員賬戶登陸進(jìn)了容器,然后在依次執(zhí)行上述的apt-get update和apt-get upgrade就行了

3.生成新鏡像

  • 修改后,先執(zhí)行exit退出容器
  • 然后查找剛才運(yùn)行的容器信息:
docker ps -a

用docker commit命令從容器打包成鏡像:

其中,備注和作者其實(shí)不重要,隨便寫,容器id就是你在上一步查找容器信息時獲取的容器id,找你剛才修改的容器,鏡像repository就是你打包生成的新鏡像的repository

docker commit -m “備注” -a “作者” 容器id 鏡像repository

最后,再次docker images就能看到你剛剛生成的新鏡像了

最后加個小功能,如何修改鏡像的tag:

docker tag IMAGEID(鏡像id) REPOSITORY:TAG(倉庫:標(biāo)簽)

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker Compose網(wǎng)絡(luò)配置指南分享

    Docker Compose網(wǎng)絡(luò)配置指南分享

    本文詳細(xì)介紹了Docker網(wǎng)絡(luò)配置的各個方面,包括基礎(chǔ)網(wǎng)絡(luò)架構(gòu)、自定義網(wǎng)絡(luò)配置、典型場景配置、高級網(wǎng)絡(luò)技巧、調(diào)試與診斷以及最佳實(shí)踐,通過多個實(shí)戰(zhàn)案例和常見問題解決方案,幫助讀者更好地理解和應(yīng)用Docker網(wǎng)絡(luò)技術(shù)
    2025-11-11
  • docker搭建Jenkins以及基本使用圖文教程

    docker搭建Jenkins以及基本使用圖文教程

    Jenkins是一個廣泛使用的開源持續(xù)集成工具,它能夠自動化構(gòu)建、測試和部署軟件項(xiàng)目,這篇文章主要給大家介紹了關(guān)于docker搭建Jenkins以及基本使用的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • 使用docker?compose一鍵部署WordPress博客的方法

    使用docker?compose一鍵部署WordPress博客的方法

    這篇文章主要介紹了docker-compose一鍵部署WordPress博客,本文分步驟給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • Docker 鏡像源配置詳細(xì)步驟

    Docker 鏡像源配置詳細(xì)步驟

    文章介紹了如何配置Docker鏡像源以提高國內(nèi)拉取鏡像的速度,步驟包括找到并編輯配置文件、寫入鏡像源配置、重啟Docker服務(wù)等,文章還詳細(xì)比較了systemctl和service的區(qū)別,并提供了驗(yàn)證配置是否成功的命令,感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • docker安裝部署 onlyoffice的詳細(xì)過程

    docker安裝部署 onlyoffice的詳細(xì)過程

    本文給大家分享docker安裝部署 onlyoffice的詳細(xì)過程,通過圖文并茂實(shí)例相結(jié)合給大家分享安裝Docker Desktop及如何進(jìn)入BIOS設(shè)置CPU的虛擬化,感興趣的朋友一起看看吧
    2021-06-06
  • Spring Boot Docker打包工具小結(jié)

    Spring Boot Docker打包工具小結(jié)

    本文對幾種常見的Spring Boot Docker打包工具進(jìn)行了簡單總結(jié),感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • docker安裝使用系列之交叉編譯詳解

    docker安裝使用系列之交叉編譯詳解

    在x86平臺上使用Docker實(shí)現(xiàn)跨平臺編譯ARM端程序,需要安裝Docker,拉取包含ARM工具鏈的鏡像,啟動QEMU支持,并使用相應(yīng)的Dockerfile進(jìn)行構(gòu)建,構(gòu)建完成后,可以運(yùn)行并測試ARM程序,導(dǎo)出所需文件,若在ARM平臺運(yùn)行x86鏡像,需使用Rosetta2等工具
    2024-10-10
  • Docker compose up -d與Docker restart的區(qū)別

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

    本文主要介紹了Docker compose up -d與Docker restart的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Docker無法stop或者rm指定容器問題解決方案

    Docker無法stop或者rm指定容器問題解決方案

    這篇文章主要介紹了Docker無法stop或者rm指定容器問題解決方案,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • Docker安裝anythingllm流程

    Docker安裝anythingllm流程

    該文介紹了如何使用Docker安裝并運(yùn)行anythingllm應(yīng)用程序,通過掛載兩個本地目錄(C:\anythingllm\storage和C:\anythingllm\env)到Docker容器中,并在瀏覽器中訪問http://localhost:3001/,即可啟動并使用anythingllm,作者分享個人經(jīng)驗(yàn),鼓勵大家參考并支持腳本之家
    2025-02-02

最新評論

翁牛特旗| 永年县| 洛南县| 三明市| 江源县| 区。| 华容县| 凤山县| 宣武区| 娄底市| 芒康县| 中西区| 定南县| 辽源市| 宜宾县| 信丰县| 依兰县| 南通市| 莱阳市| 祁阳县| 武功县| 腾冲县| 四会市| 贵州省| 那坡县| 深圳市| 苍溪县| 咸宁市| 阳信县| 太谷县| 东宁县| 依兰县| 廉江市| 石泉县| 富锦市| 堆龙德庆县| 扶沟县| 崇明县| 左贡县| 阿坝| 固原市|