生活随笔
收集整理的這篇文章主要介紹了
docker 容器保存为镜像_Docker容器和镜像操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
Docker 容器和鏡像操作,記錄下來!
容器
$ 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
容器導出
$ docker export nginx > ./docker/nginx.tar該命令將nginx容器導入到docker目錄下。
容器導入
$ 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 鏡像ID/鏡像名有的時候,無法刪除一個鏡像,大部分原因是因為該鏡像被一個容器所依賴,此時需要先刪除容器,然后就可以刪除鏡像了。
創建本地鏡像
$ 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 leeyunt/nginx:v1
上傳成功后,用戶登錄 Docker Hub,就可以看到剛剛的鏡像已經上傳成功了。
最后
下期學習Docker高級用法。
今日寄語:
“昨天下了雨,今天刮了風,明天太陽就出來了 ?”
歡迎關注個人微信公眾號:桃李報春 個人博客:http://leeyunt.top
總結
以上是生活随笔為你收集整理的docker 容器保存为镜像_Docker容器和镜像操作的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。