Docker
1.简介:
Docker是一个开源的应用容器引擎,基于go语言。
Docker将应用以及依赖打包到一个轻量级,可移植的容器中,然后发布到任何的linux系统。
Docker容器是一个完全使用沙箱的机制,相互之间不会出现任何接口,容器开销的性能低。
Docker有ce(社区版)和ee(企业版)两个版本。
2.应用场景
-
web应用的自动化打包和发布
-
自动化测试和持续集成,发布
-
在服务型环境中部署和调整数据库或其他的后台应用。
-
从头编译或者扩展现有的openshift或cloudfoundry平台来搭建自己的paas环境
3.优点
1.快速,一致的交付应用程序
2.响应式部署和扩展
3.在同一硬件上运行更多工作负载
4.docker的几个核心的概念:
docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);
docker客户端(Client):连接docker主机进行操作;
docker仓库(Registry):用来保存各种打包好的软件镜像;
docker镜像(Images):软件打包好的镜像;放在docker仓库中;
docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用
5.docker的安装
一般直接安装到linux系统上,我这里使用CentOS7.3版本的linux镜像的系统
-
在linux中输入命令:uname -r 查看当前的系统信息
-
uname -r
-
在安装docker之前先看看系统有没有已经安装好的docker信息
-
docker version
-
上图我是安装好了的docker的版本输出信息,如果没有这个信息,说明你的系统中docker要么没有,要么安装有问题,使用命令先将系统残留docker删除(没有安装docker的也可以执行该命令)
-
我这里使用的yum对docker进行删除的,所以直接用命令:yum remove docker docker-common docker-selinux docker-engine
-
yum remove docker docker-common docker-selinux docker-engine
-
如果执行报错,一般可以升级yum包解决(在生产环境中谨慎操作更新yum包!)
#升级所有包同时也升级软件和系统内核;
yum -y update
#只升级所有包,不升级软件和系统内核
yum -y upgrade
- 安装需要的软件包, yum-util 提供yum-config-manager功能,另两个是devicemapper驱动依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
- 设置 yum 源
#(中央仓库)
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo
#(阿里仓库)推荐使用阿里的,下载速度稳定快
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 查看docker版本
yum list docker-ce --showduplicates | sort -r
-
因为我的是CentOS7.3的,也就是版本信息上3.10及以上的
-
可以直接yum install docker-ce安装,中间有一个确认提示,直接输入y即可,这个3.10及以上的版本安装他自己可以自动的找合适的docker版本以及自动下载对应的依赖文件
-
yum install docker-ce
-
看到complete!说明安装好了,通过docker version查看安装的docker版本信息
-
如果不想用这种命令安装,可以使用选择一个版本并安装:
yum install docker-ce-版本号
-
#比如这样写 yum -y install docker-ce-18.03.1.ce
-
设置默认开机启动docker命令systemctl enable docker
-
systemctl enable docker
-
启动docker命令
-
systemctl start docker
-
通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community
-
docker run hello-world
6.卸载 docker
删除安装包
yum remove docker-ce
删除镜像、容器、配置文件等内容:
rm -rf /var/lib/docker
参考: