一. 前言
最近在搭建GitHub上macrozheng大佬的mall项目,该项目是部署在Docker中,正好借此机会,学习一下Docker。
如果你百度一下Docker,基本上看个三五篇文章还是一脸懵逼,上来都是先给你讲一堆底层原理或者不知所云的东西,分分钟把你劝退。
最后在看了JavaGuide和3y两个大神的文章后,才略有所懂,所以接下来根据这两个大神的文章,加上自己的理解,抛弃那些专业术语,用大白话来讲解一下,希望能够给初学者培养起一点信心。
二. Docker简介
1.Docker能干嘛?
简单说,Docker最主要能够实现两大功能:
-
Docker能够将你所需要的开发环境一键打包成镜像,需要的时候直接从Linux中拉取就可以了。
-
Docker能够将容器隔离。
举个例子,在使用Docker之前,想把自己的Java项目跑在服务器上,需要在服务器中一个个安装Tomcat、JDK、Mysql、Nginx等等各种软件,而使用了Docker之后,我们只需要从网上拉取Java项目所需的镜像,然后把代码扔进去就可以运行。
再举个例子,之前我有个服务器上跑了php的项目,并安装了Apache,之后我又想把一个Java项目也放上面,而且准备使用Nginx,却一直报错,网上查询说是因为Apache和Nginx不兼容,明明是两个互不相干的项目,却产生了兼容的问题,使用Docker后,该问题便得到了很好的解决,PHP项目使用有Apache的容器,Java项目使用有Nginx的容器,两者互不干扰。
2. 关键字解释:
-
Image:镜像
-
Container:容器
-
Repository:仓库
-
Dockerfile:镜像源码
Docker的架构图:
这几者的联系可以用Docker的架构图来解释,
-
首先Docker Registry 中存的是一个个仓库,比如上图Registry 模块中的centos,Python等等都是一个个仓库
-
每个仓库都对应同一个软件的不同的版本,比如centos有6、7等等各种版本,每个版本都是一个镜像
-
当我们从Registry 中下载一个个镜像到本地时,这些镜像都存在了images中,可以使用docker images查看本地安装了哪些镜像
-
通过不同的镜像可以构建出不同的容器,所有的容器都存在Containers中
三. 安装Docker
1. 安装yum-utils
yum install -y yum-utils device-mapper-persistent-data lvm2
2. 为yum源添加docker仓库位置
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
这里采用了阿里云的镜像地址,官方的下载docker太慢了
3. 生成缓存
yum makecache fast
4. 安装docker (ce版)
yum install docker-ce 同时给出卸载docker的命令 yum -y remove docker docker-common docker-selinux docker-engine
5. 启动doker
systemctl start docker
未完待续。。。
请登录之后再进行评论