docker

Docker是什么

docker的主要目标是“build、ship and run any APP anywhere”,即通过对应用组件的封装、分发、部署、运行等生命周期的管理,达到应用组件级别的“一次封装,到处运行”。

核心概念

镜像:类似于一个虚拟机镜像,可以将他理解为一个面向docker引擎的只读模板,包含了文件系统
容器:从镜像创建的应用运行实例
仓库:集中存放镜像文件的场所

安装

//centos7,centos-extras源中已内置docker,直接yum安装即可
yum -y install docker

获取镜像

docker pull name [:TAG]
如果不显示的指定TAG,则默认会选择latest标签,即下载仓库中最新版本的镜像。
默认的注册服务器是registry.hub.docker.com
下载过程中可以看出,镜像文件一般由若干层组成,行首的50aff78429b1这样的字串代表了各层的ID,下载过程中会获取并输出镜像的各层信息,层是aufs(advanced union file system)中的重要概念,是实现增量保存与更新的基础。
docker pull ubuntu
上面的命令相当于docker pull registry.hub.docker.com/ubuntu:latest命令
![在这里插入图片描述](https://img-blog.csdn.net/20180426224100779?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE3MDg4MjM3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)


//如果报: Cannot connect to the Docker daemon. Is the docker daemon running on this host?.
执行  service docker start即可

下载镜像到本地后,即可随时使用该镜像了,例如利用该镜像创建一个容器,在其中运行bash应用
docker run -it ubuntu /bin/bash

查看镜像信息

使用docker images命令列出本地主机上已有的镜像
![这里写图片描述](https://img-blog.csdn.net/20171226123609008?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMTcwODgyMzc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

Repository:表示来自于哪个仓库
Tag:镜像的标签信息,用于标记来自同一个仓库的不同镜像
ImageID:镜像ID号(镜像唯一标识)

删除镜像

docker rmi IMAGE [IMAGE] //IMAGE可以为标签或ID,当同一个镜像拥有多个标签时,docker rmi命令只是删除了该镜像多个标签中的指定标签而已,并不影响镜像文件

//当有该镜像创建的容器存在时,镜像文件默认是无法被删除的

容器

//创建容器
docker create -it ubuntu:latest	//使用docker create命令新建的容器处于停止状态,可以使用docker start命令来启动

//新建并启动容器
docker run ubuntu -it /bin/bash		//相当于先create再start
//-t选项让docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上,-i则让容器的标准输入保持打开
//-d Docker容器在后台以守护态形式运行
//当利用docker run 来创建并启动容器时,docker在后台运行的标准操作包括:
 1. 检查本地是否存在指定的镜像,不存在就从公有仓库下载
 2. 利用镜像创建并启动一个容器
 3. 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
 4. 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
 5. 从地址池配置一个IP地址给容器
 6. 执行用户指定的应用程序
 7. 执行完毕后容器被终止

终止容器

可以使用docker stop [-t|--time[=10]]来终止一个运行中的容器,它会首先向容器发送SIGTERM信号,默认10秒后再发送SIGKILL信号终止容器
docker kill 命令会直接发送SIGKILL信号来强行终止容器

进入容器

docker exec -it CONtainerID /bin/bash	//进入指定容器,并启动bash应用

删除容器

docker rm [OPTIONS] CONTAINER [CONTAINER...]
支持的选项包括:

 1. -f     //强制终止并删除
 2. -l     //删除容器的连接,但保留容器
 3. -v     //删除容器挂载的数据卷

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值