Docker 虚拟化技术

Docker 概念

Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、 bare metal、OpenStack 集群和其他的基础应用平台。

Docker 镜像

镜像存储位置:/var/lib/docker/overlay2
镜像挂载方式:overlay2(当前最新版本18.09.6),之前还有版本采用aufs
镜像是分层构建的,每一层是上面一层的基础:构建镜像的时候我们要保证每一层都只包含我们的应用需要的东西,不要有包含不需要的文件

Docker 容器

承载进程的拥有独立的文件系统,独立网络等资源的独立命名空间

容器和虚拟机的区别:

传统虚拟机是虚拟出一套硬件后在其上运行一整套操作系统,再在该操作系统上运行应用进程;而容器的进程是直接运行于宿主的内核,容器没有自己的内核,也没有进行硬件虚拟。

Docker 仓库

一个集中存储和分发镜像的服务,你可以建立自己的私有仓库,也可以使用共有仓库,比如 Docker Store。

优势

  1. 高效的利用系统资源:由于容器直接运行于宿主内核,不需要虚拟硬件,运行操作系统等开销。
  2. 快速的启动时间:可以做到秒级甚至是毫秒级启动
  3. 一致的运行环境,轻松迁移:docker镜像提供了除内核外完整的运行时环境
  4. 持续交付和部署:dockerfile使镜像构建透明化
  5. 维护和扩展:Docker 使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得非常简单。

Docker 安装(阿里云ECS)

# 1. 更新软件源
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# 2. 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 3. 验证 key fingerprint(符合该序列:【9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88】):
sudo apt-key fingerprint 0EBFCD88
# 4.  写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# 5.  更新并安装 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

Docker基础操作

  1. 远程拉取镜像
    docker pull ubuntu:16.04
  2. 查看镜像
    docker images
  3. 创建容器
    docker run -ti --name first ubuntu:16.04 bash
  4. 查看容器
    docker container ls
  5. 查看容器详情
    docker inspect [ID]
  6. 提交容器为一个新镜像
    docker commit [容器名] [镜像名]:[版本号]
  7. 删除容器
    docker rm [容器名]
  8. 删除镜像
    docker image rm []

Docker数据管理

1. 数据卷

  1. 挂载容器内数据卷:docker run -ti --name volume1 -v /test_dir ubuntu:16.04 bash
  2. 挂载宿主机内目录为数据卷:docker run -ti --name volume2 -v /temp:/test:ro ubuntu:16.04 bash

删除容器时要删除掉相应的数据卷,不然会比较麻烦:docker rm test -v test_dir

2. 数据容器卷

你可能感兴趣的:(服务器运维)