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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

docker 容器保存为镜像_Docker容器和镜像操作

發布時間:2024/9/18 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker 容器保存为镜像_Docker容器和镜像操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

Docker 容器和鏡像操作,記錄下來!

容器

  • 創建一個新的容器(ubuntu)并啟動
$ docker run -dit --name ubuntu ubuntu

  • 在容器內執行命令(容器在后臺啟動),用 docker exec 命令
$ docker exec -it ubuntu bash

注意:使用exit 命令退出在容器內執行命令。
  • 查看容器詳細信息
& docker inspect ubuntu包括容器的ID、容器名、環境變量、運行命令、主機配置、網絡配置等。

使用 -f 參數可以查看用戶關心的數據:

  • 查看容器運行狀態:docker inspect -f='{{.State.Running}}' ubuntu
  • 查看容器ip地址:docker inspect -f='{{.NetworkSettings.IPAddress}}' ubuntu
  • 查看容器名、容器id:docker inspect -f='{{.Name}} {{.ID}}' ubuntu
  • 查看容器的進程
  • $ docker top ubuntu

    容器導出

    • 使用 export 命令可以導出容器
    $ docker export nginx > ./docker/nginx.tar該命令將nginx容器導入到docker目錄下。

    容器導入

    • 使用 import 命令導入容器
    $ cat nginx.tar | docker import - importednginx:ilatest

    鏡像

    鏡像和容器的關系就像是程序和進程的關系,鏡像扮演的角色就是容器的模板,不同鏡像可以構建不同的容器。

    本地鏡像管理

    • 執行docker run再去下載會比較慢,可以先執行docker pull將鏡像先下載下來,再運行。
    $ docker pull hub.c.163.com/library/nginx:latest

    • 由下載下來的鏡像來構建容器
    $ docker run -itd --name 163nginx -p 80:80 hub.c.163.com/library/nginx:latest

    • 刪除鏡像docker rmi
    $ docker rmi 鏡像ID/鏡像名有的時候,無法刪除一個鏡像,大部分原因是因為該鏡像被一個容器所依賴,此時需要先刪除容器,然后就可以刪除鏡像了。

    創建本地鏡像

    • 根據已有容器創建一個本地鏡像:commit 命令
    $ docker commit -m "update index.html" --author='leeyunt' 13af96130e40 leeyunt/nginx:v1

    命令解釋:

  • 參數-m是對創建的該鏡像的一個簡單描述。
  • --author表示該鏡像的作者。
  • 13af96130e40表示創建鏡像所依據的容器的id。
  • leeyunt/nginx則表示倉庫名,leeyunt是名稱空間,nginx是鏡像名。
  • v1表示倉庫的tag。
  • 創建完成后,通過docker images命令就可以查看到剛剛創建的鏡像。
  • 通過剛剛創建的鏡像運行一個容器,訪問該容器,發現nginx默認的首頁已經發生改變。
    • 根據Dockerfile文件構建鏡像
    • 新建一個名為Dockerfile的文件,內容如下:
    FROM nginx MAINTAINER leeyunt "leeyunt@outlook.com" RUN echo 'hello docker!'>/usr/share/nginx/html/index.html COPY ./hello.html /usr/share/nginx/html/

    解釋:

  • FROM nginx表示該鏡像的構建,以已有的nginx鏡像為基礎,在該鏡像的基礎上構建。
  • MAINTAINER指令用來聲明創建鏡像的作者信息以及郵箱信息,這個命令不是必須的。
  • RUN指令用來修改鏡像,算是使用比較頻繁的一個指令了,該指令可以用來安裝程序、安裝庫以及配置應用程序等,一個RUN指令執行會在當前鏡像的基礎上創建一個新的鏡像層,接下來的指令將在這個新的鏡像層上執行,RUN語句有兩種不同的形式:shell格式和exec格式。本案例采用的shell格式,shell 格式就像linux命令一樣,exec格式則是一個JSON數組,將命令放到數組中即可。在使用RUN命令時,適當的時候可以將多個RUN命令合并成一個,這樣可以避免在創建鏡像時創建過多的層。
  • COPY語句則是將鏡像上下文中的hello.html文件拷貝到鏡像中。
  • 文件創建完成后,執行如下命令進行構建:
  • $ docker build -t leeyunt/nginx:v1 .

    命令解釋:

  • -t參數用來指定鏡像的命名空間,倉庫名以及TAG等信息。
  • 最后面的.是指鏡像構建上下文。
  • 將鏡像上傳到Docker Hub

    • 通過docker push命令
    $ docker push leeyunt/nginx:v1

    上傳成功后,用戶登錄 Docker Hub,就可以看到剛剛的鏡像已經上傳成功了。

    最后

    下期學習Docker高級用法。

    今日寄語:

    “昨天下了雨,今天刮了風,明天太陽就出來了 ?”

    歡迎關注個人微信公眾號:桃李報春 個人博客:http://leeyunt.top

    總結

    以上是生活随笔為你收集整理的docker 容器保存为镜像_Docker容器和镜像操作的全部內容,希望文章能夠幫你解決所遇到的問題。

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