Docker

Docker 包括三个基本概念
镜像(Image)
容器(Container)
仓库(Repository)

Docker 镜像
1).Docker 镜像就是一个只读的模板。
例如:一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。
2).镜像可以用来创建 Docker 容器。
3).Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一
个已经做好的镜像来直接使用。

Docker 容器
1).Docker 利用容器来运行应用。
2).容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
3).可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运
行在其中的应用程序。
*注:镜像是只读的,容器在启动的时候创建一层可写层作为最上层。

Docker 仓库
1).仓库是集中存放镜像文件的场所。有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。
实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。
2).仓库分为公开仓库(Public)和私有仓库(Private)两种形式。
3).最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。 国内的公开仓库包括 Docker Pool
等,可以提供大陆用户更稳定快速的访问。
4).当然,用户也可以在本地网络内创建一个私有仓库。
5).当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台
机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。
*注:Docker 仓库的概念跟 Git 类似,注册服务器可以理解为 GitHub 这样的托管服务。

Docker镜像
1)从仓库获取镜像
2)管理本地主机上的镜像
3)介绍镜像实现的基本原理。

获取镜像
可以使用 docker pull 命令从仓库获取所需要的镜像

列出本地镜像
使用 docker images 显示本地已有的镜像。

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu 12.04 74fe38d11401 4 weeks ago 209.6 MB

在列出信息中,可以看到几个字段信息
来自于哪个仓库,比如 ubuntu
镜像的标记,比如 14.04
它的 ID 号(唯一)
创建时间
镜像大小

移除本地镜像
如果要移除本地的镜像,可以使用 docker rmi 命令。注意 docker rm 命令是移除容器。
*注意:在删除镜像之前要先用 docker rm 删掉依赖于这个镜像的所有容器。

Docker 容器
简单的说,容器是独立运行的一个或一组应用,以及它们的运行态环境。对应的,虚拟机可以理解为模拟
运行的一整套操作系统(提供了运行态环境和其他系统环境)和跑在上面的应用。

如何来管理一个容器,包括创建、启动和停止?
1)启动容器
启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器
重新启动。

新建并启动
$ sudo docker run ubuntu:14.04 /bin/echo ‘Hello world’
Hello world

2)创建容器
当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括:

检查本地是否存在指定的镜像,不存在就从公有仓库下载
利用镜像创建并启动一个容器
分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
从地址池配置一个 ip 地址给容器
执行用户指定的应用程序
执行完毕后容器被终止

启动已终止容器
可以利用 docker start 命令,直接将一个已经终止的容器启动运行。

守护态运行
更多的时候,需要让 Docker 容器在后台以守护态(Daemonized)形式运行。此时,可以通过添加 -d 参
数来实现。
$ sudo docker run -d ubuntu:14.04 /bin/sh -c “while true; do echo hello world; sleep 1; done”
1e5535038e285177d5214659a068137486f96ee5c2e85a4ac52dc83f2ebe4147

终止容器
可以使用 docker stop 来终止一个运行中的容器。
当Docker容器中指定的应用终结时,容器也自动终止。
用户通过 exit 命令或 Ctrl+d 来退出终端时,所创建的容器立刻终止。

导出容器
如果要导出本地某个容器,可以使用 docker export 命令。

导入容器快照
可以使用 docker import 从容器快照文件中再导入为镜像,例如
$ cat ubuntu.tar | sudo docker import - test/buntu:v1.0

此外,也可以通过指定 URL 或者某个目录来导入,例如
$sudo docker import http://example.com/exampleimage.tgz example/imagerepo

删除容器
可以使用 docker rm 来删除一个处于终止状态的容器。 例如
$sudo docker rm trusting_newton
trusting_newton
如果要删除一个运行中的容器,可以添加 -f 参数。Docker 会发送 SIGKILL 信号给容器。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值