Docker 介绍和安装(一)

Build,Ship,and Run Any App, AnyWhere

Docker 是一种内核级别的虚拟化技术。实现,一次创建和或配置,在任何地方、任何时间运行的目的。

中文社区

优势:

  • 更快速的交付和部署;
  • 更高效的资源利用;
  • 更轻松的迁移和扩展;
  • 更简单的更新管理

同虚拟机相比:

  1. Docker 启动更快
  2. 对系统资源需求很少
  3. 借鉴 Git 的设计理念来方便用户的获取、分发和更新应用镜像,存储复用,增量更新
  4. 支持 Dockerfile 支持灵活的自动化创建和部署机制,以提高效率和标准化流程
特性 Docker 虚拟机
启动速度 秒级 分钟级
性能 接近原生 较弱
内存代价 很小 较多
硬盘使用 一般MB 一般Gb
运行密度 单机支持上千个 一般十几个
隔离性 安全隔离 完全隔离
迁移性 优秀 一般

虚拟化技术的分类: 硬件层面虚拟化(很少)和软件层面的虚拟化。软件层面的虚拟化可以继续细分为:1、完全虚拟化;2、硬件辅助虚拟化;3、部分虚拟化;4、超虚拟化;5、操作系统级虚拟化。

Docker 属于操作系统级虚拟化,内容通过创建多个虚拟化操作系统实例(内核和库)来隔离不同的进程。

Docker和常见的虚拟化不同之处

Docker 中的三个核心概念

镜像(Image)、容器(Container)和仓库(Repository)

镜像

镜像和容器的关系可以理解为Java中类和对象的关系。Docker 镜像类似于虚拟机中的镜像(ISO文件),是创建 Docker 的基础。

容器

容器是从镜像中创建的应用运行实例。它可以启动、开始、停止、删除,各个容器之间互相隔离,不可见。容器可以看出传统虚拟机中安装好的操作系统。

仓库 Repository

Docker 仓库类似于代码仓库,是 Docker 集中存放镜像文件的场所。最大的公开仓库是 Docker Hub (https://hub.docker.com/), 和 GitHub 类似,Docker Hub 中注册需要自带梯子。

Docker 的获取安装

Docker 分为社区版和企业版,默认个人使用社区稳定版本。Docker 产品 介绍。

在 Centos7 中安装 Docker CE

笔者习惯在Centos7 中实地实验,其它版本安装可以参考官网(https://docs.docker.com/install/)。

1. 卸载之前的版本

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

2. 通过 yum 进行安装

手动安装参考(https://docs.docker.com/install/linux/docker-ce/centos/#install-from-a-package)

设置 yum 源

1、 先安装相关的依赖包

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

2、 添加稳定的 Docker 社区版本仓库到 Linux 镜像源中

# 官方镜像源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 换成阿里的 Docker 镜像源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

提示出错:Could not fetch/save url https://download.docker.com/linux/centos/docker-ce.repo to file /etc/yum.repos.d/docker-ce.repo: [Errno 12] Timeout on https://download.docker.com/linux/centos/docker-ce.repo: (28, ‘Operation timed out after 30001 milliseconds with 0 out of 0 bytes received’)
主要是因为被墙的原因

3、 执行安装命令

sudo yum -y install docker-ce

Docker 官网上说明了如何安装指定版本的 Docker

4、 启动 Docker

systemctl start docker

5、 验证 Docker 是否正确运行,启动 Hello World 镜像。

sudo docker run hello-world

执行命令后会打印出 Hello world

其它命令

## List Docker CLI commands
docker
docker container --help

## Display Docker version and info
docker --version
docker version
docker info

## Execute Docker image
docker run hello-world

## List Docker images
docker image ls

## List Docker containers (running, all, all in quiet mode)
docker container ls
docker container ls --all
docker container ls -aq
  • docker ps 查看运行的容器
  • dockerd -D -H tcp://127.0.0.1:2376 通过 Dockerd 命令启动 Docker 服务,开启 Debug 模式,并监听本地的 2376 端口

对于 Centos7 来说,配置文件路径为 /etc/systemd/system/docker.service.d/docker.conf

猜你喜欢

转载自blog.csdn.net/u013019701/article/details/84111229