Docker入门指南-安装及使用教程

目录

一、Docker概述

1.1 Docker介绍

1.2 Docker的优势

1.3 Docker的核心概念

二、Docker安装

2.1 Docker版本与官方安装方式

2.2 国内源安装新版

三、Docker镜像与容器管理

3.1 Docker镜像与容器区别

3.2 Docker镜像管理

3.3 Docker容器管理

四、Docker容器与宿主机之间拷贝

五、Docker容器镜像打包迁移

5.1容器打包 export

5.2通过容器创建镜像 commit

5.3镜像打包迁移

六、通过dockerfile创建镜像

七、Docker容器应用

7.1部署centos7容器应用

7.2部署docker web ui应用

八、Docker端口转发

九、Docker容器卷管理

十、Docker网络管理

一、Docker概述

1.1 Docker介绍

Docker是Docker.Inc公司开源的一个基于轻量级虚拟化技术的容器引擎项目,整个项目基于Go语言开发,并遵从Apache 2.0协议。通过分层镜像标准化和内核虚拟化技术,Docker使得应用开发者和运维工程师可以以统一的方式跨平台发布应用,并且以几乎没有额外开销的情况下提供资源隔离的应用运行环境。

Docker是一个开源工具,它可以让创建和管理 docker容器变得简单。容器就像是轻量级的虚拟机,并且可以以秒级的速度来启动或停止。
1.轻量级
2.占用资源少(内存、CPU)
3.对基础环境几乎没有依赖性

Docker容器与VM的区别 :

表面区别:
容器占用体积小,虚拟机占用体积大
隔离性:容器提供了基于进程的隔离,而虚拟机提供了资源的完全隔离。
启动速度:虚拟机可能需要一分钟来启动,而容器只需要一秒钟或更短。
容器使用宿主操作系统的内核,而虚拟机使用独立的内核。Docker 的局限性之一是,它只能用在64位的操作系统上。
本质区别:
容器是被隔离的进程

1.2 Docker优势

(1)交付物标准化
Docker的标准化交付物称为"镜像",它包含了应用程序及其所依赖的运行环境,大大简化了应用交付的模式。
(2)应用隔离
Docker可以隔离不同应用程序之间的相互影响,比虚拟机开销更小。总之,容器技术部署速度快,开发、测试更敏捷;提高系统利用率,降低资源成本. 
(3)一次构建,多次交付
类似于集装箱的"一次装箱,多次运输",Docker镜像可以做到"一次构建,多次交付"。
(4)Docker的度量:
Docker是利用容器来实现的一种轻量级的虚拟技术,从而在保证隔离性的同时达到节省资源的目的。Docker的可移植性可以让它一次建立,到处运行。

Docker的度量可以从以下四个方面进行:

1)隔离性
 通过内核的命名空间来实现的,将容器的进程、网络、消息、文件系统和主机名进行隔离。
2)可度量性
 Docker主要通过cgroups控制组来控制资源的度量和分配。
3)可移植性
 Docker利用AUFS来实现对容器的快速更新,AUFS是一种支持将不同目录挂载到同一个虚拟文件系统下的文件系统,支持对每个目录的读写权限管理。AUFS具有层的概念,每一次修改都是在已有的只写层进行增量修改,修改的内容将形成新的文件层,不影响原有的层。
4)安全性
 安全性可以分为容器内部之间的安全性;容器与托管主机之间的安全性。容器内部之间的安全性主要是通过命名空间和cgroups来保证的。容器与托管主机之间的安全性主要是通过内核能力机制的控制,可以防止Docker非法入侵托管主机。

1.3 Docker核心概念

概念 定义 特性 关系 示例
镜像 轻量级、不可变的二进制包,包含运行应用所需的文件和依赖。 不可变、分层存储、便携性、可版本控制。 创建容器的基础,存储在仓库中。 docker pull,docker build
容器 镜像的运行实例,提供隔离的操作环境。 轻量级、可移植、隔离性、短暂性。 从镜像创建并运行,使用仓库中的镜像。 docker run,docker stop
仓库 存储和分发 Docker 镜像的地方。 镜像存储、共享、权限控制。 存储镜像,供创建容器使用。 docker push,docker pull

(1)Docker仓库

用来保存镜像,可以理解为代码控制中的代码仓库。同样的,Docker 仓库也有公有和私有的概念。公有的 Docker 仓库名字是 Docker Hub。Docker Hub 提供了庞大的镜像集合供用户使用。这些镜像可以是自己创建,或者在别人的镜像基础上创建。

仓库(registry) -->Repository-->镜像:v1.1(按版本区分)
docker.io/centos:7
registry/repository:tag

repository:存储库
docker 国内仓库
aliyun
daocloud

(2)Docker镜像

Docker 镜像是 Docker 容器运行时的只读模板,每一个镜像由一系列的层 (layers) 组成。Docker 使用 UnionFS 来将这些层联合到单独的镜像中。正因为有了这些层的存在,Docker 是如此的轻量。当你改变了一个 Docker 镜像,比如升级到某个程序到新的版本,一个新的层会被创建。因此,不用替换整个原先的镜像或者重新建立(在使用虚拟机的时候你可能会这么做),只是一个新的层被添加或升级了。

镜像由三部分组成:
镜像名称:仓库名称+镜像分类+tag名称(镜像版本)

1.存储对象:images
2.格式:库名/分类:tag
3.tag:表示镜像版本

 (3)Docker容器

名称空间 namespace  容器隔离(pid,net,mnt,user,hostname...)
资源限制 cgroups  资源(内存,cpu)
文件系统 overlay2(UnionFS)

二、Docker安装

2.1 Docker版本与官方安装方式

(1)Docker版本介绍

mby、docker-ce与docker-ee最早时docker是一个开源项目,主要由docker公司维护。2017年3月1日起,docker公司将原先的docker项目改名为moby,并创建了docker-ce和docker-ee。三者关系:moby project由社区维护,docker-ce project是docker公司维护,docker-ee是闭源的docker公司维护。

moby是继承了原先的docker的项目,是社区维护的的开源项目,谁都可以在moby的基础打造自己的容器产品
docker-ce是docker公司维护的开源项目,是一个基于moby项目的免费的容器产品
docker-ee是docker公司维护的闭源产品,是docker公司的商业产品

(2) 官方安装方式

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

如果是centos,上面的安装命令会在系统上添加yum源:/etc/yum.repos.d/docker-ce.repo

# wget https://download.docker.com/linux/centos/docker-ce.repo
# mv docker-ce.repo /etc/yum.repos.d
# yum install -y docker-ce

rpm包安装方式:

# wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.09.0.ce-1.el7.centos.x86_64.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值