目录

1.Docker 简介

1.1 与传统虚拟技术的差别

1.2 Docker 优势

1.3 Docker 架构图

1.4 Docker 基本组成

2.Docker 安装

2.1 安装步骤

2.2 Docker 镜像加速

3.Docker 常用命令

3.1 帮助命令

3.2 镜像命令

3.3 容器命令

4.Docker 镜像


1.Docker 简介

Docker 是基于 Go 语言的开源项目。

Docker 的目标是通过对应用的封装、分发、部署、运行等生命周期的管理,从而达到 “一次封装,到处运行”。

Docker 是解决运行环境和配置问题,方便持续集成的容器虚拟化技术。

1.1 与传统虚拟技术的差别

传统虚拟技术是虚拟出硬件后,在其上运行一个完整的操作系统,在该系统上再运行应用。

容器内的应用直接运行于宿主的内核,容器没有自己的内核,也没有进行硬件虚拟,因此容器比传统虚拟机更轻便。

每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响。

1.2 Docker 优势

轻量,秒级的启动速度

简单,易用,活跃的社区

标准的打包,部署,运行方案

镜像支持增量分发,易于部署

易于构建,适合自动化测试和持续集成

性能高,内存和 IO 的开销低

1.3 Docker 架构图

1.4 Docker 基本组成

镜像(image)

镜像是一个只读模板,可以用来创建 Docker 容器,一个镜像可以创建很多容器。

镜像和容器的关系,类似于类和对象的关系。

容器(container)

容器使用镜像创建的运行实例,Docker 用容器独立运行一个或一组应用

容器可以启动,开始,停止,删除。每个容器都是相互隔离的,保证安全的平台。

仓库(repository)

集中存放镜像文件的场所。仓库分为公开仓库和私有仓库,最大的公开仓库 Docker Hub 存放了大量的镜像供用户下载。

2.Docker 安装

目前,CentOS 仅发行版中的内核支持 Docker。

Docker 运行在 CentOS 7 上,要求系统为 64 位,内核版本在 3.10 以上。

Docker 运行在 CentOS 6.5 或更高的版本上,要求系统为 64 位,内核版本在 2.6.32 - 431 或更高版本上。

2.1 安装步骤

安装所需软件包

\# sudo yum install -y yum-utils \\
  device-mapper-persistent-data \\
  lvm2

设置仓库

\# sudo yum-config-manager \\
    --add-repo \\
   http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装最新版本的 Docker Engine-Community 和 containerd

\# sudo yum install docker-ce docker-ce-cli containerd.io

启动 Docker

\# sudo systemctl start docker

通过运行 hello-world 映像来验证是否安装成功

\# sudo docker run hello-world

2.2 Docker 镜像加速

国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。

阿里云镜像获取地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors,登陆后,左侧菜单选中镜像加速器就可以看到你的专属地址了:

配置镜像加速器

vi /etc/docker/daemon.json

将加速器地址写入配置项

{
  "registry-mirrors": \["https://xxxxx.mirror.aliyuncs.com"\]
}

加载

sudo systemctl daemon-reload

重启

sudo systemctl restart docker

3.Docker 常用命令

3.1 帮助命令

查看版本

\# docker version

描述信息

\# docker info

帮助信息

\# docker help

3.2 镜像命令

列出本地主机上的镜像

\# docker images

搜索镜像

docker search tomcat

下载镜像

docker pull tomcat

删除镜像

docker rmi tomcat

3.3 容器命令

新建并启动容器

docker run centos

列出 docker 所有正在运行的容器

docker ps

退出容器

exit 表示容器停止退出,ctrl + P + Q 表示容器不停止退出

启动容器

docker start 1478e2ab6d8f

其中,1478e2ab6d8f 表示容器 ID。

重启容器

docker restart 1478e2ab6d8f

停止容器

docker stop  1478e2ab6d8f

强制停止容器

docker kill 1478e2ab6d8f

删除已停止的容器

docker rm 1478e2ab6d8f

启动守护式容器

docker run -d centos

查看容器日志

docker logs 1478e2ab6d8f

查看容器内运行的进程

docker top  1478e2ab6d8f

查看容器内部的细节

docker inspect 1478e2ab6d8f

进入容器,启动命令终端

docker attach 1478e2ab6d8f

4.Docker 镜像

镜像是一种轻量级、可执行的软件包。用来打包软件运行环境和软件,包括代码、运行时、库、环境变量和配置文件。

Docker 镜像的基础是联合文件系统。该系统是一种分层、轻量级且高性能的文件系统,支持对文件系统的修改作为一次提交来层层叠加。

Docker 采用分层结构的目的是共享资源。

提交容器副本,使之成为一个新的镜像

docker commit -a="" -m="" 1478e2ab6d8f  centos:1.12