日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

容器学习 之 扩展镜像(五)

發布時間:2024/2/28 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 容器学习 之 扩展镜像(五) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Dockerfile 是一個文本文件,記錄了鏡像構建的所有步驟。

創建Dockerfile

用 Dockerfile 創建上節的 ubuntu-with-vi,其內容則為:

下面我們運行 docker build 命令構建鏡像并詳細分析每個細節。

root@ubuntu:~# pwd ① /root root@ubuntu:~# ls ② Dockerfile root@ubuntu:~# docker build -t ubuntu-with-vi-dockerfile . ③ Sending build context to Docker daemon 32.26 kB ④ Step 1 : FROM ubuntu ⑤ ---> f753707788c5 Step 2 : RUN apt-get update && apt-get install -y vim ⑥ ---> Running in 9f4d4166f7e3 ⑦ ...... Setting up vim (2:7.4.1689-3ubuntu1.1) ... ---> 35ca89798937 ⑧ Removing intermediate container 9f4d4166f7e3 ⑨ Successfully built 35ca89798937 ⑩ root@ubuntu:~#

① 當前目錄為 /root。

② Dockerfile 準備就緒。

③ 運行 docker build 命令,-t 將新鏡像命名為 ubuntu-with-vi-dockerfile,命令末尾的 . 指明 build context 為當前目錄。Docker 默認會從 build context 中查找 Dockerfile 文件,我們也可以通過 -f 參數指定 Dockerfile 的位置。

④ 從這步開始就是鏡像真正的構建過程。 首先 Docker 將 build context 中的所有文件發送給 Docker daemon。build context 為鏡像構建提供所需要的文件或目錄。
Dockerfile 中的 ADD、COPY 等命令可以將 build context 中的文件添加到鏡像。此例中,build context 為當前目錄 /root,該目錄下的所有文件和子目錄都會被發送給 Docker daemon。

所以,使用 build context 就得小心了,不要將多余文件放到 build context,特別不要把 /、/usr 作為 build context,否則構建過程會相當緩慢甚至失敗。

⑤ Step 1:執行 FROM,將 ubuntu 作為 base 鏡像。
ubuntu 鏡像 ID 為 f753707788c5。

⑥ Step 2:執行 RUN,安裝 vim,具體步驟為 ⑦、⑧、⑨。

⑦ 啟動 ID 為 9f4d4166f7e3 的臨時容器,在容器中通過 apt-get 安裝 vim。

⑧ 安裝成功后,將容器保存為鏡像,其 ID 為 35ca89798937。
這一步底層使用的是類似 docker commit 的命令。

⑨ 刪除臨時容器 9f4d4166f7e3。

⑩ 鏡像構建成功。
通過 docker images 查看鏡像信息。

值得一提的是,Docker 會緩存已有鏡像的鏡像層,構建新鏡像時,如果某鏡像層已經存在,就直接使用,無需重新創建。

這就是這個擴展鏡像的過程。

總結

以上是生活随笔為你收集整理的容器学习 之 扩展镜像(五)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。