什么是Docker
Docker是一项容器技术,是一个开源的应用容器引擎。
可以让开发者打包自己的软件以及相关依赖到一个
可移植的容器中,然后发布到Docker仓库上面。
运维工作人员从中下载获取镜像,通过Docker程序
运行这个镜像,生成容器,就可以获取相同的软件环境。
实现了“一次构建,处处运行”。
解决了开发者和运维者在开发时和部署时因项目环境不同
而导致的各种矛盾,从而影响业务进度,使得业务不能适应
快速变化的市场。
Docker是基于UnionFS联合文件系统,是一种分层的结构
分层结构:共享资源,便于复用(很多镜像都是基于一个Base基础镜像构建而来)
Docker与传统虚拟软件的区别
传统虚拟软件:
模拟一个完整的操作系统,首先虚拟出一套硬件,
再安装操作系统,再运行各种软件。
更偏向硬件方向的运营
Docker容器技术:
不是模拟一个完整的操作系统,也没有进行硬件虚拟。
而是对进程进行隔离,封装成容器,容器内的应用程序
直接使用宿主机的内核资源,且容器采用沙箱机制,
互相隔离,彼此独立,是安全的。
更偏向软件方向的运营
术语
1)Docker主机(Host)
安装了Docker程序的主机
2)Docker镜像(Image)
就是一个将软件环境打包好的模板,
用来创建容器。
一个镜像可以创建多个容器
3)Docker容器(Container)
就是镜像运行后的实例,可以启动、停止、删除等等
容器采用沙箱机制,互相隔离,彼此独立,是安全的。
可以简单地把容器看作是一个简易版的linux环境。
4)Docker仓库(Repository)
用来存放镜像,每一个镜像都有一个标签
安装
(1)安装
前提:对于Linux, 64位linux操作系统,内核3.10以及以上
Step1:
yum remove docker \
> docker-client \
> docker-client-latest \
> docker-common \
> docker-latest \
> docker-latest-logrotate \
> docker-logrotate \
> docker-engine
yum install -y yum-utils \
> device-mapper-persistent-data \
> lvm2
yum-config-manager \
> --add-repo \
> https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
(2)验证
docker version
docker info
(3)启动
systemctl enable docker
systemctl start docker
(4)镜像加速
https://hub.daocloud.io/
--->
加速器
--->
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
systemctl daemon-reload
systemctl restart docker
docker -H IP # 连接指定主机的docker