您好,登錄后才能下訂單哦!
這篇“Docker鏡像與容器的導入導出及常用命令實例分析”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Docker鏡像與容器的導入導出及常用命令實例分析”文章吧。
通過鏡像ID保存
方式一:
docker save image_id > image-save.tar
例如:
root@Ubuntu:/usr/local/docker/nginx# docker images REPOSITORY TAG IMAGE ID CREATED SIZE openjdk 8-jre 26ac3f63d29f 2 months ago 273MB nginx 1.21.3 87a94228f133 4 months ago 133MB root@Ubuntu:/usr/local/docker/nginx# docker save 87a94228f133 > nginx-save.tar
方式二:
docker save -o image-save.tar image_id
例如:
root@Ubuntu:/usr/local/docker/nginx# docker images REPOSITORY TAG IMAGE ID CREATED SIZE openjdk 8-jre 26ac3f63d29f 2 months ago 273MB nginx 1.21.3 87a94228f133 4 months ago 133MB root@Ubuntu:/usr/local/docker/nginx# docker save -o nginx-save.tar 87a94228f133
通過鏡像repository
和tag
保存
docker save -o image-save.tar repository:tag
例如:
root@Ubuntu:/usr/local/docker/nginx# docker images REPOSITORY TAG IMAGE ID CREATED SIZE openjdk 8-jre 26ac3f63d29f 2 months ago 273MB nginx 1.21.3 87a94228f133 4 months ago 133MB root@Ubuntu:/usr/local/docker/nginx# docker save -o nginx-save.tar nginx:1.21.3
方式一:
docker load < nginx-save.tar
方式二:
docker load -i nginx-save.tar
注意
使用 image_id
作為參數的方式導出的鏡像包進行導入會出現 none
的情況,需要手動打標簽
docker tag 87a94228f133 nginx:1.21.3
使用鏡像 repository:tag
作為導出參數的方式則正常
容器的導出是將當前容器變成一個容器包
root@Ubuntu:/usr/local/docker/nginx# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 66b23477cdc6 nginx:1.21.3 "/docker-entrypoint.…" 7 days ago Up 3 hours 80/tcp, 0.0.0.0:80->80/tcp, :::80->80/tcp nginx_51tj root@Ubuntu:/usr/local/docker/nginx# docker export -o nginx-export.tar 66b23477cdc6
docker import nginx-export.tar nginx:1.21.3-new
export
和import
導出的是一個容器的快照, 不是鏡像本身, 也就是說沒有layer
。你的
dockerfile
里的workdir
,entrypoint
之類的所有東西都會丟失,commit
過的話也會丟失。快照文件將丟棄所有的歷史記錄和元數據信息(即僅保存容器當時的快照狀態),而鏡像存儲文件將保存完整記錄,體積也更大。
注意:
docker save 保存的是鏡像(image),docker export 保存的是容器(container);
docker load 用來載入鏡像包,docker import 用來載入容器包,但兩者都會恢復為鏡像;
docker load 不能對載入的鏡像重命名,而 docker import 可以為鏡像指定新名稱。
查看 Docker 版本
docker version
從 Docker 文件構建 Docker 映像
docker build -t image-name docker-file-location
運行 Docker 映像
docker run -d image-name
查看可用的 Docker 映像
docker images
查看最近的運行容器
docker ps -l
查看所有正在運行的容器
docker ps -a
停止運行容器
docker stop container_id
刪除一個鏡像
docker rmi image-name
刪除所有鏡像
docker rmi $(docker images -q)
強制刪除所有鏡像
docker rmi -r $(docker images -q)
刪除所有虛懸鏡像
docker rmi $(docker images -q -f dangling=true) docker image prune
刪除所有容器
docker rm $(docker ps -a -q)
進入 Docker 容器
docker exec -it container-id /bin/bash
查看所有數據卷
docker volume ls
刪除指定數據卷
docker volume rm [volume_name]
刪除所有未關聯的數據卷
docker volume rm $(docker volume ls -qf dangling=true)
從主機復制文件到容器
sudo docker cp host_path containerID:container_path
從容器復制文件到主機
sudo docker cp containerID:container_path host_path
以上就是關于“Docker鏡像與容器的導入導出及常用命令實例分析”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。