《第一本Docker书》学习笔记——第4章 使用Docker镜像和仓库
4.2 列出镜像
使用docker images
命令:
sudo docker images
本地镜像都保存在Docker宿主机的/var/lib/docker
目录下。
也可以在/var/lib/docker/containers
目录下看到所有的容器的ID。
镜像从仓库下载下来。镜像保存在仓库中,而仓库存在于Registry中。磨人的Registry是由Docker公司运营的公共Registry服务,即Docker Hub。
代码清单4-3 拉取Ubuntu 16.04的镜像
sudo docker pull ubuntu:16.04
这里使用了docker pull
命令来拉取ubuntu仓库中Ubuntu 16.04镜像。
为了区分同一个仓库中的不同景象,Docker提供了一种称为 标签(tag) 的功能。每个镜像在列出来时都带有一个标签,如12.04、12.10、quantal或者precise等。每个标签对组成特定镜像的一些镜像层进行标记(比如,标签12.04就是对所有Ubuntu 12.04镜像的层的标记)。这种机制使得在同一个仓库中可以存储多个镜像。
我们可以通过在仓库名后面加上一个冒号和标签名来指定该仓库中的某一镜像:
代码清单4-5 运行一个带标签的Docker镜像
sudo docker run -t -i --name zifeiy_container ubuntu:16.04 /bin/bash
这个例子会从镜像 ubuntu:16.04 启动一个容器,而这个镜像的操作系统则是Ubuntu 16.04。
4.3 拉取镜像
代码清单4-7 拉取fedora镜像
sudo docker pull fedora:28
代码清单4-8 查看fedora镜像
sudo docker images fedora
4.4 查找镜像
我们可以通过 docker search
命令来查找所有 Docker Hub 上公共的可用镜像:
代码清单4-10 查找镜像
sudo docker search puppet
代码清单4-11 拉取一个用户镜像jamtur01/puppetmaster
sudo docker pull jamtur01/puppetmaster
这条命令将会下载 jamtur01/puppetmaster
镜像到本地(这个镜像里预装了Puppet主服务器)。
接着就可以用这个镜像构建一个容器了。下面就用 docker run
命令来构建一个容器:
代码清单4-12 从Puppet master镜像创建一个容器
sudo docker run -i -t jamtur01/puppetmaster /bin/bash
4.7 删除镜像
使用 docker rmi
命令来删除一个镜像:
代码清单4-86 删除Docker镜像
sudo docker rmi jamtur01/static_web
代码清单4-87 同时删除多个Docker镜像
sudo docker rmi jamtur01/apache2 jamtur01/puppetmaster
代码清单4-88 删除所有镜像
sudo docker rmi `docker images -a -q`
4.8 运行自己的Docker Registry
4.8.1 从容器运行Registry
代码清单4-89 运行基于容器的Registry
sudo docker run -p 5000:5000 registry:2
该命令将会启动一个运行Registry应用2.0版本的容器,并将5000端口绑定到本地宿主机。
4.8.2 测试新Registry
首先下载一个Docker镜像:
sudo docker pull jamtur01/static_web
代码清单4-90 查看jamtur01/static_web Docker镜像
sudo docker images jamtur01/static_web
我这里jamtur01/static_web
现实的IMAGE_ID是7c3b35d31608
。我们找到了这个镜像ID,并使用心得Registry给该镜像打上标签。为了制定新的Registry目的地址,需要在镜像名前面加上主机名和端口前缀。在这个例子里,我们的Registry主机名为localhost:
代码清单4-91 使用新Registry为镜像打标签
sudo docker tag 7c3b35d31608 localhost:5000/jamtur01/static_web
为镜像打完标签之后,就能通过docker push
命令将它推送到新的Registry中去了:
代码清单4-92 将镜像推送到新Registry
sudo docker push localhost:5000/jamtur01/static_web
这个镜像就被提交到了本地的Registry中,并且可以将其用于使用 docker run
命令构建新容器:
代码清单4-93 从本地Registry构建新的容器
sudo dockerr run -t -i localhost:5000/jamtur01/static_web /bin/bash
《第一本Docker书》学习笔记——第4章 使用Docker镜像和仓库的更多相关文章
- 第一本docker书 学习笔记(二)
#安装docker的先决条件 运行64位CPU构架的计算机(docker目前不支持32位的cpu) 运行LUFSinux3.8或者更高版本内核 内核必须支持一种合适的存储驱动,例如: device M ...
- 第一本docker书 学习笔记(一)
Docker的核心组件: Docker客户端和服务端 Docker镜像 Registry Docker容器 # Docker客户端和服务端 docker 是一个 C/S架构程序.客户端只需要向dock ...
- 20145330《Java学习笔记》第一章课后练习8知识总结以及IDEA初次尝试
20145330<Java学习笔记>第一章课后练习8知识总结以及IDEA初次尝试 题目: 如果C:\workspace\Hello\src中有Main.java如下: package cc ...
- CSS3秘笈第三版涵盖HTML5学习笔记1~5章
第一部分----CSS基础知识 第1章,CSS需要的HTML HTML越简单,对搜索引擎越友好 div是块级元素,span是行内元素 <section>标签包含一组相关的内容,就像一本书中 ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二章:矩阵代数
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二章:矩阵代数 学习目标: 理解矩阵和与它相关的运算: 理解矩阵的乘 ...
- JVM学习笔记-第六章-类文件结构
JVM学习笔记-第六章-类文件结构 6.3 Class类文件的结构 本章中,笔者只是通俗地将任意一个有效的类或接口锁应当满足的格式称为"Class文件格式",实际上它完全不需要以磁 ...
- Stealth视频教程学习笔记(第二章)
Stealth视频教程学习笔记(第二章) 本文是对Unity官方视频教程Stealth的学习笔记.在此之前,本人整理了Stealth视频的英文字幕,并放到了优酷上.本文将分别对各个视频进行学习总结,提 ...
- Stealth视频教程学习笔记(第一章)
Stealth视频教程学习笔记(第一章) 本文是对Unity官方视频教程Stealth的学习笔记.在此之前,本人整理了Stealth视频的英文字幕,并放到了优酷上.本文将分别对各个视频进行学习总结,提 ...
- java JDK8 学习笔记——第16章 整合数据库
第十六章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API中的接口会有数据库厂商操作,称为JDBC驱动程 ...
随机推荐
- 批量下载oracle jdk
1.打开 https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html 2.同意条款 3. ...
- DBUtils框架ResultSetHandler接口学习
今儿在学习spring框架的时候,让我想起来之前做项目时一直搁置的一个问题,就是DBUtils框架的做数据库操作的使用,当时制作项目的时候就是通过实例打了一遍,由于时间原因也并没有仔细去了解这一方面. ...
- WSAStartup() - 使用方法
当一个应用程序调用WSAStartup函数时, 操作系统根据请求的Socket版本来搜索相应的Socket库,然后绑定找到的Socket库到该应用程序中. 以后应用程序就可以调用所请求的Socket库 ...
- 案例:3D切割轮播图
一.3d转换 3D旋转套路:顺着轴的正方向看,顺时针旋转是负角度,逆时针旋转是正角度 二.代码 <!DOCTYPE html> <html lang="en"&g ...
- Bzoj 2818: Gcd(莫比乌斯反演)
2818: Gcd Time Limit: 10 Sec Memory Limit: 256 MB Description 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的 数对 ...
- python 格式化输出之%号
一.格式化输出1.整数的输出%o —— oct 八进制%d —— dec 十进制%x —— hex 十六进制 1 >>> print('%o' % 20) 2 24 3 >&g ...
- ffmpeg视频压缩与分割
ffmpeg -i .mov -vcodec libx264 -crf out.mp4 --分辨率不动进行压缩 ffmpeg -i .mp4 -c copy -c:v libx264 -vf scal ...
- npm start的时候改变端口及组合脚本
windows npm修改端口启动 set PORT=3000&&roadhog server npm start Linux npm 修改端口启动 set PORT=3000 roa ...
- Leetcode Majority Element系列 摩尔投票法
先看一题,洛谷2397: 题目背景 自动上次redbag用加法好好的刁难过了yyy同学以后,yyy十分愤怒.他还击给了redbag一题,但是这题他惊讶的发现自己居然也不会,所以只好找你 题目描述 [h ...
- Docker|部署及简单使用
环境:VMware + centos7 + docker17.05.0 一.安装docker 1.修改ifcfg-ens33 配置虚拟机的网络,保证可以正常联网 命令:vi /etc/sysconfi ...