Docker基础,附镜像基本操作

Docker简介

Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源。

Docker自2013年以来非常火热,无论是从 github 上的代码活跃度,还是Redhat在RHEL6.5中集成对Docker的支持, 就连 Google 的 Compute Engine 也支持 docker 在其之上运行。

Docker架构

Docker基础,附镜像基本操作

Docker基础,附镜像基本操作

以上是Docker架构和普通的Virtual架构的区别,不难看出,docker具有更佳的便携性和高效性。对于传统的Virtual架构而言,每一个app都需要放在一个Virtual下运行,一旦要进行迁移则需要对多个VirtualMachine进行迁移,对于程序员来说是极其不方便的,Docker就相当于一个容器,可以将多个App放在一个Docker运行,一旦需要迁移,只需要移动整个Docker即可。

Docker优点

  • 1、简化程序:
    Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的任务,在Docker容器的处理下,只需要数秒就能完成。

  • 2、避免选择恐惧症:
    如果你有选择恐惧症,还是资深患者。Docker 帮你 打包你的纠结!比如 Docker 镜像;Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。

  • 3、节省开支:
    一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思维定势。Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。

Docker基本操作

获取镜像

docker image pull [OPTIONS] NAME[:TAG|@DIGEST]

运行容器

docker run --rm NAME echo hello docker

查看镜像

docker images

其中:

  1. REPOSITORY:说明镜像来自哪个仓库
  2. TAG:镜像的标签信息
  3. IMAGE ID:标识镜像的 ID 号
  4. CREATED:创建镜像的时间
  5. SIZE:镜像大小

查看镜像详情

docker image inspect NAME:latest

搜索镜像

docker search NAME

删除镜像

docker image rm NAME/ID

创建镜像

docker run -it NAME:latest bash

导出镜像

docker image save -o NAME.tar NAME:latest
tar -czf NAME.tar.gz NAME.tar

导入镜像

tar -xf NAME.tar.gz
docker image load -i NAME.tar

上传镜像

docker image push NAME[:TAG]

以上就是Docker的镜像基础操作