一、一些概念

镜像

docker支持随机创建、销毁,当任务需要创建一台实例时,只需要在设备池中虚拟化出一台资源机,挂载私有网络,遍完成了实例创建。当然,服务器除了硬件资源,还需要软件资源,包含操作系统、容器、中间件等配合,因此,实例化docker之后,我们还得创建操作系统、安装我们的容器配置。
那么,若能把这些所需要的内容进行统一打包,然后顺势“解压”到服务器上,直接完成基本环境部署。
这就需要镜像文件的协助。

镜像(Mirroring)是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。

仓库

仓库(Repository)是集中存放镜像的地方。例如docker hub

Docker Hub

目前 Docker 官方维护了一个公共仓库 Docker Hub。大部分需求都可以通过在 Docker Hub 中直接下载镜像来实现。
可在docker官网注册一个docker账号,在本地终端使用login命令登录,可拉取自己账号下的所有镜像。可使用push命令将本地镜像推到docker hub。

什么是Docker

Docker 是一个开源的应用容器引擎,它可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

Docker的应用场景

  • Web 应用的自动化打包和发布。
  • 自动化测试和持续集成、发布。
  • 在服务型环境中部署和调整数据库或其他的后台应用。
  • Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

Docker 官网:https://www.docker.com

Github Docker 源码:https://github.com/docker/docker-ce

二、Docker的一些使用

$ docker : 查看到 Docker 客户端的所有命令选项
$ docker command --help : 查看docker某一指令的具体使用方法
$ docker pull ubunt : 本地没有 ubuntu 镜像,使用 docker pull 命令来载入 ubuntu 镜像

$ docker run -it ubuntu /bin/bash : 使用 ubuntu 镜像启动一个容器,参数为以命令行模式进入该容器

$ docker ps:可以通过 docker ps 来查看正在运行的容器
$ docker ps -a : 查看所有正在运行的容器
$ docker start CONTAINER ID : 启动某一个容器
$ docker restart CONTAINER ID : 重启某一容器

$ docker logs CONTAINER ID : 查看容器内的标准输出

$ docker stop CONTAINER ID : 停止某一容器

$ docker attach CONTAINER ID : 进入容器

$ docker exec CONTAINER ID :进入容器,推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止

$ docker rm -f CONTAINER ID : 删除某一容器

$ docker ps输出详情介绍:

  • CONTAINER ID: 容器 ID。
  • IMAGE: 使用的镜像。
  • COMMAND: 启动容器时运行的命令。
  • CREATED: 容器的创建时间。
  • STATUS: 容器状态。

状态有7种:
created(已创建)
restarting(重启中)
running(运行中)
removing(迁移中)
paused(暂停)
exited(停止)
dead(死亡)

  • PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
  • NAMES: 自动分配的容器名称。

$ docker images : 列出本地主机上的镜像

  • REPOSITORY:表示镜像的仓库源
  • TAG:镜像的标签
  • IMAGE ID:镜像ID
  • CREATED:镜像创建时间
  • SIZE:镜像大小

$ docker search NAME :查找镜像

  • NAME: 镜像仓库源的名称
  • DESCRIPTION: 镜像的描述
  • OFFICIAL: 是否 docker 官方发布
  • stars: 类似Github 里面的 star,表示点赞、喜欢的意思。
  • AUTOMATED: 自动构建。