Docker给PaaS世界带来的“降维打击”,其实是提供了一种非常便利的打包机制。该机制打包了应用运行所需要的整个操作系统,从而保证了本地环境和云端环境的高度一致,避免了用户通过“试错”来匹配不同运行环境间差异的痛苦。

  接下来来讲解Docker三大组件之一的镜像,如果说镜像是静态的只读文件,那么容器就是带有运行时需要的可写文件层。也可以这样理解,镜像是对象的模板——类,容器是类生成的对象,镜像只有一个,对象可以有很多个。

  

1.搜索镜像

docker search ubuntu   //搜索镜像

2.拉取镜像

docker pull ubuntu:14.04  //NAME[:TAG],如果不加标签,默认是latest ; 先本地,后仓库[官方,私人]
docker pull hub.c..com/pull/ubuntu:14.04
 
・配置加速器地址,记得配后重启
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
 
#重启

sudo service docker restart 

3.查看镜像 

docker images  -a //查看本地的镜像

4.设置标签

docker tag f975 jackyfei/ubuntu:dev //给镜像打标签

5.启动容器并进入终端

docker run -itd image id  //把镜像启动为容器,-i表示让容器以标准输入打开,-t表示分配个伪终端,-d表示后台启动

6.删除镜像

docker rmi ubuntu   //后面的参数可以是tag,如果是tag,实际上是删除该tag。当后面的参数为镜像ID时,则会彻底删除整个镜像,所有标签也会一同删除。

7.构建镜像

vi Dockerfile         //包含一组指令,Dockerfile规则

FROM jackyfei/ubuntu:dev
MAINTAINER jackyfei "zfh@astop.com.cn" RUN /bin/echo 'root:123456' |chpasswd
RUN useradd jackyfei
RUN /bin/echo 'jackyfei:123456' |chpasswd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE
EXPOSE
CMD /usr/sbin/sshd -D docker build -t jackyfei/ubuntu:dev . //生成镜像

8.上传镜像

docker push NAME[:TAG] | [REGISTRY HOST : EGISTRY_PORT/INAME[:TAG]]

//公共仓库
docker tag test:latest user/test:latest //打标签
docker push jackyfei/ubuntu:dev //上传 //私人仓库
7.1 docker pull registry //registry是docker官方镜像,用来创建本地的docker私有仓库
7.2 sudo docker run -d -p : -v /opt/data/registry:/tmp/registry registry
//启动容器,冒号左边为宿主机端口,右边为容器端口
7.3 vi /etc/docker/daemon.json //修改配置为:{"insecure-registries":["172.16.0.245:5000"]}
7.4 systemctl restart docker //重启容器
7.5 docker tag ubuntu:16.04 172.16.0.245:/ubuntu //打标签
7.6 docker push 172.16.0.245:/ubuntu //推送到私有仓库
7.7 curl 172.16.0.245:/v2/_catalog //查看推送上来的镜像
7.8 docker pull 172.16.0.245:/ubuntu

如果对Docker有更深的洞察,欢迎补充和讨论,感谢您的捧场。

4.镜像管理【Docker每天5分钟】的更多相关文章

  1. 003-docker命令-远程镜像仓库命令,本地镜像管理命令

    1.远程镜像仓库 docker login/logout:查看 [不常用] docker push:查看 [不常用] docker search:从Docker Hub查找镜像 语法:docker s ...

  2. 关于docker安装、docker镜像、docker容器等

    1.Ubuntu安装docker sudo apt install docker.io 注意以下命令需在root下进行 sudo -s 2.查看docker当前容器 docker ps -a 3.启动 ...

  3. 5.容器管理【Docker每天5分钟】

    原文:5.容器管理[Docker每天5分钟] Docker给PaaS世界带来的“降维打击”,其实是提供了一种非常便利的打包机制.该机制打包了应用运行所需要的整个操作系统,从而保证了本地环境和云端环境的 ...

  4. Docker镜像管理基础篇

    Docker镜像管理基础篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Docker Images Docker镜像还有启动容器所需要的文件系统及其内容,因此,其用于创建并启 ...

  5. paas架构之docker——镜像管理

    1. 镜像管理 1.1. 列出镜像 Sudo docker images 1.2. 查看镜像 Sudo docker images xxxx 1.3. 拉取镜像 Sudo docker pull ub ...

  6. 一张图比較 Docker 和 Git:镜像管理设计理念

    Docker 的镜像管理设计中大量借鉴了 Git 的理念. 以下这张图将对两者的核心概念和操作进行比較,有助于大家高速掌握管理 Docker 镜像的正确方式. watermark/2/text/aHR ...

  7. Docker镜像管理

    镜像是docker的三大核心概念之一.可以用来创建容器. Docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统被称为UnionFS.镜像可以基于Dockerfile构建,Dockerf ...

  8. Docker进阶之四:镜像管理

      一.什么是镜像? 简单说,Docker镜像是一个不包含Linux内核而又精简的Linux操作系统. 二.镜像从哪里来? Docker Hub是由Docker公司负责维护的公共注册中心,包含大量的容 ...

  9. 004.Docker镜像管理

    一 镜像基本操作 镜像是一个包含程序运行必要依赖环境和代码的只读文件,其本质是磁盘上一系列文件的集合.它采用分层的文件系统,将每一次改变以读写层的形式增加到原来的只读文件上.镜像是容器运行的基石. 1 ...

  10. 2、Docker镜像和镜像管理

    一.镜像介绍 1.定义 一个只读层被称为镜像,一个镜像是永久不会变的. 由于 Docker 使用一个统一文件系统,Docker 进程认为整个文件系统是以读写方式挂载的. 但是所有的变更都发生顶层的可写 ...

随机推荐

  1. data parameter is nil 异常处理

    似乎是NSData的问题,用排除法分析了一下 NSString *urlStr = [NSString stringWithFormat:@"%@/config/AppConfig.json ...

  2. 如何在浏览器中输入(myeclipse创建的项目的)地址访问JSP页面

    如何在浏览器中输入(myeclipse创建的项目的)地址访问JSP页面 可以在Tomcat项目里面查看你的JSP页面在哪里,具体的路径为: tomcat--work--localhost--项目名称, ...

  3. JDK各个版本的新特性

    对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言.今天先为大家介绍一下JDK1.5版本到JD ...

  4. Django之csrf防御机制

    1.csrf攻击过程 csrf攻击说明: 1.用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A; 2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站 ...

  5. java简单的双色球摇号程序

    import java.util.HashSet; import java.util.Random; import java.util.Set; /** * LotteryClient * @auth ...

  6. django(models)视图与html 简单的操作

    !数据提前写好 urls映射图 点击a标签之后

  7. &和&&的共同点和区别、Java字符含义和Java创建对象的几种方式

    一.&和&&的共同点和区别 1.&和&&的联系(共同点): &和&&都可以用作逻辑与运算符,但是要看使用时的具体条件来决定. 操 ...

  8. [Swift]LeetCode35. 搜索插入位置 | Search Insert Position

    Given a sorted array and a target value, return the index if the target is found. If not, return the ...

  9. [Swift]LeetCode739. 每日温度 | Daily Temperatures

    Given a list of daily temperatures T, return a list such that, for each day in the input, tells you ...

  10. [Swift]LeetCode826. 安排工作以达到最大收益 | Most Profit Assigning Work

    We have jobs: difficulty[i] is the difficulty of the ith job, and profit[i] is the profit of the ith ...