Docker简介及安装

一、Docker简介

1、虚拟化介绍

虚拟化( Virtualization):是一种资源管理技术,是将计算机的各种实体资源,用抽象,转换后呈现处理,打破实体结构建的障碍,使得资源可以得到充分的利用,这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制,一般虚拟化资源包括计算能力和资料,它的用途主要是用来解决高性能的物理硬件产能过剩和旧硬件

 2、Docker介绍

Docker是一个开源项目,是开发、运行和部署应用程序的开放管理平台,它是由Go语言实现的,诞生于2013年初,开源成熟后,在17年开启商业化道路,分为Docker EE(企业版)和Docker CE(社区版)两个版本,社区版是免费的,企业版则是提供一些要收费的高级特性。

Docker最重要的是容器镜像这两个:

容器:Docker提供一个完全隔离的环境中打包和运行应用程序的能力,这个环境就是容器

镜像:构建Docker的基石,它是基于联合文件系统的一种层式结构。

注意:容器是基于镜像启动

Docker的优势

  • 保证程序运行环境的一致性(开发人员负责容器中运行的应用程序,运维负责管理容器)
  • 降低配置开发环境和生产环境的复杂度和成本(股市使用面向服务的架构和微服务架构,Docker中程序易于构建和协作)
  • 实现程序的快速部署和分发(程序Docker化也很快,Docker容器启动速度快,同一台主机可以运行多个容器)

3、容器与虚拟机比较

容器:是通过Docker引擎(Docker Engine),直接复用主机操作系统,不需要安装操作系统

虚拟机:是通过Hypervisor的软件利用硬件虚拟化功能,虚拟化出一些硬件,在这些硬件上安装一个操作系统

总结:Docker相比较于传统虚拟机,它启动速度快,占用体积小。

二、Docker架构

1、Docker引擎

Docker引擎采用的是C/S结构,主要由服务端、REST API、客户端组成

2、Docker架构图

Docker客户端(Client):用户与Docker进行交互的最主要方式。可以连接本地服务端,或者通过DOCKER_HOST连接远程服务端

Docker服务端(Server):Docker的服务器,负责监听Docker API请求和管理Docker对象,如容器、镜像、网络等。

Docker仓库(Registries):专门用于存储镜像的云服务环境,Docker Hub就是一个公有的存放镜像的地方。

Docker对象:主要是镜像、容器、网络、数据卷

 Images(镜像):一个docker的可执行文件,其中包括运行应用程序的代码、依赖库、环境变量和配置文件等

Containers(容器):镜像被运行起来后的实例

NetWorks(网络): 外部或者容器间相互访问的网络方式

Volumes(数据卷):容器与宿主机之间、容器与容器之间共享存储方式,类似虚拟机和主机之间共享文件目录

三、Docker安装

 1、在Centos安装

(1)更新yum包

sudo yum update

(2)安装需要的软件包

# yum-util 提供yum-config-manager功能,
# device-mapper-persistent-data 和 lvm2 是驱动依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

(3)设置yum源

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

(4)安装docker

sudo yum install docker-ce -y

安装成功后,查看docker版本

docker -v

注意:如果之前安装过docker的需要先卸载,再安装

sudo yum remove docker 
                  docker-client 
                  docker-client-latest 
                  docker-common 
                  docker-latest 
                  docker-latest-logrotate 
                  docker-logrotate 
                  docker-engine
# yum list installed | grep docker
# yum remove docker-ce.x86_64 docker-ce-cli.x86_64
# rm -rf /var/lib/docker

2、Ubuntu上安装

(1)卸载旧版的docker(没装过则不用执行这一步)

sudo apt-get remove docker docker-engine docker.io containerd runc

(2)安装必要的一些工具

sudo apt-get update
sudo apt-get install 
     apt-transport-https 
     ca-certificates 
     curl 
     gnupg-agent 
     software-properties-common

(3)安装GPG证书

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

(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 install docker-ce

3、Docker的管理指令

(1) 启动docker

systemctl start docker

(2) 停止docker

systemctl stop docker

(3) 重启docker

systemctl restart docker

(4) 查看docker状态

systemctl status docker

(5) 开机启动

systemctl enable docker

(6) 查看docker信息

docker info

4、Docker的加速配置

(1)第一种:一次性配置,仅对当次有效

#修改 /etc/default/docker,加入 DOCKER_OPTS=”镜像地址”,可以有多个 
DOCKER_OPTS="--registry-mirror=https://docker.mirrors.ustc.edu.cn"

(2)第二种:配置文件,永久有效

'''
# 注意:如果报以下错误 "/etc/docker/daemon.json" E212: Can't open file for writing
原因:应该是/etc目录下没有docker文件夹以及daemon.json文件
解决方法:在etc目录下创建docker文件夹和daemon.json文件
'''
vim /etc/docker/daemon.json  
# 写以下内容
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
'''
几个速度比较快的镜像地址
Docker 官方中国区: https://registry.docker-cn.com
网易: http://hub-mirror.c.163.com
中科大: https://docker.mirrors.ustc.edu.cn
'''

(3)第三种:同第二种一样,只不过使用是加速器是阿里云分配的加速器地址

vi /etc/docker/daemon.json  
{
"registry-mirrors": ["https://x1566319.mirror.aliyuncs.com"]
}
不将就
原文地址:https://www.cnblogs.com/nq31/p/14382984.html