虚拟化( Virtualization):是一种资源管理技术,是将计算机的各种实体资源,用抽象,转换后呈现处理,打破实体结构建的障碍,使得资源可以得到充分的利用,这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制,一般虚拟化资源包括计算能力和资料,它的用途主要是用来解决高性能的物理硬件产能过剩和旧硬件
Docker是一个开源项目,是开发、运行和部署应用程序的开放管理平台,它是由Go语言实现的,诞生于2013年初,开源成熟后,在17年开启商业化道路,分为Docker EE(企业版)和Docker CE(社区版)两个版本,社区版是免费的,企业版则是提供一些要收费的高级特性。
Docker最重要的是容器和镜像这两个:
容器:Docker提供一个完全隔离的环境中打包和运行应用程序的能力,这个环境就是容器
镜像:构建Docker的基石,它是基于联合文件系统的一种层式结构。
注意:容器是基于镜像启动
Docker的优势
容器:是通过Docker引擎(Docker Engine),直接复用主机操作系统,不需要安装操作系统
虚拟机:是通过Hypervisor的软件利用硬件虚拟化功能,虚拟化出一些硬件,在这些硬件上安装一个操作系统
总结:Docker相比较于传统虚拟机,它启动速度快,占用体积小。
Docker引擎采用的是C/S结构,主要由服务端、REST API、客户端组成
Docker客户端(Client):用户与Docker进行交互的最主要方式。可以连接本地服务端,或者通过DOCKER_HOST连接远程服务端
Docker服务端(Server):Docker的服务器,负责监听Docker API请求和管理Docker对象,如容器、镜像、网络等。
Docker仓库(Registries):专门用于存储镜像的云服务环境,Docker Hub就是一个公有的存放镜像的地方。
Docker对象:主要是镜像、容器、网络、数据卷
Images(镜像):一个docker的可执行文件,其中包括运行应用程序的代码、依赖库、环境变量和配置文件等
Containers(容器):镜像被运行起来后的实例
NetWorks(网络): 外部或者容器间相互访问的网络方式
Volumes(数据卷):容器与宿主机之间、容器与容器之间共享存储方式,类似虚拟机和主机之间共享文件目录
(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
(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
(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
(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