Docker-基本概念
1 前言
1.1 版本
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上
2 Docker & 虚拟机
2.1 区别
- Docker容器并非虚拟机!
- 虚拟机-都需要有自己的操作系统,虚拟机一旦被开启,预分配给它的资源将全部被占用
- 容器技术-是和我们的宿主机共享硬件资源及操作系统,可以实现资源的动态分配
[外链图片转存失败(img-ctC3zKVy-1567477528486)(/images/ce66e8fe-6989-46bc-7ef1-b42609db5c70.webp)]
-
Infrastructure:基础设施
-
Host Operating System:主操作系统
-
Hypervisor:虚拟机管理系统
-
Guest Operating System:从操作系统
-
Container Engine(Docker Daemon):Docker守护进程,Docker守护进程取代了Hypervisor,它是运行在操作系统之上的后台进程,负责管理Docker容器
2.2 Docker 优势
特性 | Docker | VM |
---|---|---|
启动速度 | 秒级 | 分钟级 |
硬盘使用 | MB | GB |
性能 | 接近原生 | 弱于 |
单机系统支持量 | 上千 | 几十个 |
隔离性 | 进程之间的隔离(弱) | 系统级别隔离(强) |
安全性 | 租户Root 和宿主机 Root 等同(弱) | 租户Root 和宿主机 Root 隔离(强) |
- 容器技术-是实现操作系统虚拟化的一种途径,可以让您在资源受到隔离的进程中运行应用程序及其依赖关系
- 容器技术-可以帮助保证应用程序快速、可靠、一致地部署,其间不受部署环境的影响。
- 容器技术-使我们可以轻松打包应用程序的代码、配置和依赖关系,将其变成容易使用的构建块,从而实现环境一致性、运营效率、开发人员生产力和版本控制等诸多目标
- 容器技术-可以帮助保证应用程序快速、可靠、一致地部署,其间不受部署环境的影响。
3 Docker 三个基本概念
Image(镜像)
Container(容器)
Repository(仓库)
镜像是 Docker 运行容器的前提,仓库是存放镜像的场所
-
镜像:就是一个只读的模板。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。
-
Docker 利用容器(Container)独立运行的一个或一组应用。容器是用镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台
-
仓库(Repository)是集中存放镜像文件的场所。仓库(Repository)和仓库注册服务器(Registry)是有区别的。仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。目前最大的仓库就是docker hub。国内的阿里云和网易云对docker hub上面的镜像进行了一个备份的操作。国内的话,还是将仓库设置成阿里云的,这样的话,能够快速的将我们想要的镜像给拉下来.
4 Docker 安装
官网安装:https://docs.docker.com/install/linux/docker-ce/centos/
-
下载docker的rpm包 https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
-
删除老版本docker
-
yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-selinux
docker-engine-selinux
docker-engine -
rm -rf /etc/systemd/system/docker.service.d
-
rm -rf /var/lib/docker
-
rm -rf /var/run/docker
-
yum list installed | grep docker
yum -y remove docker-ce.x86_64
-
rm -rf /etc/docker
rm -rf /run/docker
rm -rf /var/lib/dockershim
rm -rf /var/lib/docker
-
-
添加yum源
sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
-
安装 yum install /opt/docker-ce-18.06.1.ce-3.el7.x86_64.rpm
-
添加依赖
-
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install epel-release
yum install container-selinux
-
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libtool-ltdl-2.4.2-22.el7_3.i686.rpm
rpm -ivh libtool-ltdl-2.4.2-22.el7_3.i686.rpm
-
-
启动docker服务并加入开机启动
systemctl start docker systemctl enable docker
-
检查安装是否成功
docker version
-
开启远程调用(这里是为了后期使用maven插件生成docker镜像)
vim /usr/lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock systemctl daemon-reload systemctl restart docker