Docker 镜像-管理-导入-导出
Docker 镜像基本概念
我们使用的容器都是基于镜像的,镜像是由多层组成的,容器是在镜像上面添加了一个读写层。镜像一般储存在 /var/lib/docker/image/
。
多个容器是引用的同一个 镜像,容器不会更改镜像的内容,而是创建一个可写层,并将数据保存在 /var/lib/docker/containers
中。
Docker 镜像加速
当我们在使用 Docker
时,我们避免不了拉取镜像,我们默认的镜像源是 registry.hub.docker.com
, 是在国外的,我们在国内进行拉取镜像是会比较慢的,我们通常会设置 Docker 中国镜像源或者是 阿里云镜像源,来加速下载。
网易加速器:http://hub-mirror.c.163.com
官方中国加速器:https://registry.docker-cn.com
方式一 、使用Docker官方国内镜像源
地址是 :https://registry.docker-cn.com
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
方式二 、使用阿里云镜像源地址
获取阿里云镜像源
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://123.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
# 配置开机自启
systemctl enabled docker
方式三、设置163源
更新比阿里云慢
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
# 配置开机自启
systemctl enabled docker
Docker 镜像 常用命令
查找镜像 docker search
docker search imagename # 查找镜像
docker search --filter=stars=0 imagename # 仅显示指定星级以上的镜像,默认为 0,即输出所有镜像。
docker search --no-trunc imagename # 输出信息不截断,默认是截断的。
docker search --limit int imagename # 只返回多少个查询结果,默认为25
下载镜像 docker pull
# docker image pull =docker pull 下载镜像
docker image pull centos = docker pull centos # 下载 centos 镜像
docker image pull -a # 下载在此分支的所有的镜像
列出镜像 docker image ls
docker image ls / docker images # 列出所有的镜像
docker image ls -a # 列出所有的镜像
docker image ls -f dangling=true # -f 过来,dangling=true 显示没有使用过的镜像
docker image ls --no-trunc # 对输出结果太长部分不进行截断,默认截断 加--no-trunc不截断。
docker image ls -q # 仅仅输出id信息
查看镜像的历史构建记录 docker image history
docker image history imagename # 查看镜像的构建过程
docker image history -q imagename # 仅仅输出id信息
docker image history --no-trunc imagename # 对输出结果太长部分不进行截断,默认截断 加--no-trunc不截断。
给镜像打标签 docker image tag
# 类似于软链接
docker image tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] # 一个镜像可以对应多个标签,删除一个标签的镜像时,如果该镜像还对应着对个标签,则该镜像是不会被删除的。
查看镜像的详细信息 docker image inspect
docker image inspect [OPTIONS] IMAGE [IMAGE...] # 显示一个或者多个镜像的详细信息。
删除镜像 docker image rm
docker image rm/rmi/remove
docker image rm tagname # 删除镜像,一个镜像可以对应多个标签,删除一个标签的镜像时,如果该镜像还对应着对个标签,则该镜像是不会被删除的。假设我们一个镜像有a,b,c三个标签,我们删除 c 镜像就只会删除 c标签。当一个镜像只对应一个标签时,那时候删除,是会将镜像删除的。如果是删除id的话,如果该 id 对应的镜像有对应的容器在启动的话, 镜像是删除不了的,如果没有的话,但是有多个标签的话,是会一并删除的。
docker image rm -f tagname # 强制删除镜像
docker image prune # 移除所有未标记(TAG)的镜像
-a # 移除所有未使用的镜像。
-f # 不发出询问信息
# image 帮助
docker image --help
Docker 镜像的创建和导出导入
创建镜像
基于现有的容器进行创建
我们可以基于已经创建好的容器进行创建镜像。
docker commit 【options】 container 【REPOSITORY【:TAG】】
-a ,--author="" : 指定作者信息;
-c , --change=[] :提交时执行 Dockerfile 命令
-m --message="" : 提交信息
-p,--pause=true : 提交时暂停容器运行
基于Dockerfile 创建
docker image build
从本地模板导入
docker image import/load
导出镜像
# docker image save [options] container
-o # 导出到指定文件
导入镜像
# docker image load < 导入文件名 / docker load < 导入文件名
导出容器
docker export container id > name.tar
docker export container id -o d.tar
导入容器
docker image import name.tar tag
注意事项
镜像中有一个 dangling - 虚悬镜像,这类镜像的 tag 为 none ,这类镜像是如何产生的?
当我们下载好一个镜像后,这个镜像后续更新了,然后我们 push 了最新的镜像,那么之前的老版本的镜像的tag 也就变成了 none , ,这种镜像就叫做 dangling - 虚悬镜像。这些镜像可以删除,使用 dangling=true 过滤条件即可。
docker rmi $(docker images -aq -f "dangling=true")
,有个开源工具 docker-gc 可以帮我们定时清理。
Docker 镜像-管理-导入-导出的更多相关文章
- docker 镜像的导入导出
今天使用docker部署asp.net core应用程序时,发现当我们做好基础镜像之后需要把镜像导出到正式环境,因此学习了一下如何从docker中导出镜像: 1.首先通过docker images命令 ...
- docker镜像的导入导出
docker save > nginx.tar nginx:latest docker load < nginx.tar
- docker镜像的导入和导出
启动命令 docker run -d -p 3000:80 twang2218/gitlab-ce-zh:9.0.3 docker run -d -p 8080:80 gitlab/gitlab-ce ...
- docker镜像管理(二)
docker镜像 docker镜像含有启动容器所需要的文件系统和内容,因此,其用于创建并启动docker容器 docker镜像采用分层构建机制,最底层为bootfs,其之为rootfs bootfs: ...
- Docker镜像管理基础篇
Docker镜像管理基础篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Docker Images Docker镜像还有启动容器所需要的文件系统及其内容,因此,其用于创建并启 ...
- 2、docker镜像管理
Docker镜像管理 镜像是Docker容器的基础,想运行一个Docker容器就需要有镜像.我们上面已经学会了使用search搜索镜像.那么这个镜像是怎么创建的呢? 创建镜像 镜像的创建有以下几种方法 ...
- 3.docker镜像管理基础
一.docker镜像相关 1.About Docker Image Docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动docker容器. 采用分层构建机制,最底层为bootf ...
- Docker学习第一天(Docker入门&&Docker镜像管理)
简介 今天小区的超市买零食老板给我说再过几天可能就卖完了我有点诧异,老板又说厂家不生产了emmm 今天总算开始docker了! 1.Docker? 1.什么是Docker Docker 是一个开源的应 ...
- 【docker专栏5】详解docker镜像管理命令
一.国内Docker镜像仓库 由于大家都知道的原因,从国外的docker 仓库中pull镜像的下载速度实际上是很慢的.国内的一些一线厂商以及docker官方都在国内免费提供了一些docker镜像仓库, ...
随机推荐
- 2019-7-3-WPF-使用-Win2d-渲染
原文:2019-7-3-WPF-使用-Win2d-渲染 title author date CreateTime categories WPF 使用 Win2d 渲染 lindexi 2019-07- ...
- DevExpress的分页Tab控件XtraTabControl控件的使用
场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...
- java自适应响应式 企业网站源码 SSM freemaker生成静态化 手机 平板 PC springmvc
java 企业网站源码 前后台都有 静态模版引擎, 代码生成器大大提高开发效率 前台: 支持两套模版, 可以在后台切换 系统介绍: 1.网站后台采用主流的 SSM 框架 jsp JSTL,网站后台采用 ...
- 使用AVFoundation完成照片拍摄存储相册, 开启关闭闪光灯, 切换摄像头
在开启这个旅程之前, 请记住, AVFoundation是一个复杂的工具. 在很多情况下, 我我们使用苹果默认的API(比如:UIImagePickerController)就足够了. 在您阅读之前, ...
- Activit 5.13 工作流部署新版本后回退到上一个版本
有时因为某些原因Activit流程部署新版本后,还没有发起流程,回退到上一个版本.操作过程: 1.查询版本更新记录,记录字段ID_值,假设值为100: select to_char(t.deploy_ ...
- 用linux编译并运行c文件
目录 创建一个.c文件 写完代码以后进行编译 @(用linux编译并运行c文件) 创建一个.c文件 vi 文件名.c 对于图形化的linux,需要右键桌面,在终端中打开,输入vi 文件名.c就创建了一 ...
- Jmeter Question 之 ‘批量执行SQL语句’
第一步: MySql数据库:jdbc:mysql://ip:3306/数据库名?useUnicode=true&characterEncoding=utf8&allowMultiQue ...
- 201871010111-刘佳华《面向对象程序设计(java)》第七周学习总结
201871010111-刘佳华<面向对象程序设计(java)>第七周学习总结 实验时间 2019-10-11 1.实验目的与要求 1) 掌握四种访问权限修饰符的使用特点: (1)进一步理 ...
- 题解:swj社会摇基础第一课
题目链接 思路:dp,f[i]表示构成i所需要的最小步数 //swj么么哒 #include<bits/stdc++.h> using namespace std; int n; cons ...
- 《京东到家订单中心 Elasticsearch 演进历程》----阅读
上篇通过阅读文章对京东到家的架构分析有了初步了解,这次对文章(https://mp.weixin.qq.com/s?__biz=MzU1MzE2NzIzMg==&mid=2247486889& ...