一、docker简介
1、为什么会出现docker?一般情况下是开发人员开发好代码,本地测试通过后,打成jar包或者war包,交给运维人员,部署到服务器上。就是这么个过程,经常会出现如下场景:
- 运维:哥们,你这代码不行啊,跑不起来;
- 开发:怎么可能,你看我本地是可以的;
- 运维:你过来看啊,服务器上就是不行;
- 开发:我的代码怎么可能有问题,你会不会玩?……
一样的代码,本地可以跑,服务器上就不行,那这就是环境的问题和配置的问题了。而且,一个产品从开发到上线,往往有开发环境,测试环境,仿真环境和生产环境,每个环境我们都需要安装一遍mysql、redis、nginx,activemq等,运维的工作量也挺大,而且都是重复的工作。为了解决这些痛点,docker就出现了。
2、是什么?
- 官网:https://www.docker.com
docker就是一个容器,一次构建,处处运行。也就是说,我开发环境安装了mysql、redis,我可以直接将这两个镜像搬到测试环境,开箱即用,而不用重新去配置。
3、虚拟机技术和容器技术:
- 虚拟机:相当于一台电脑,模拟了一整套完整的操作系统。缺点是启动慢,冗余步骤多,占用资源多。
- 容器技术(docker):不是模拟完整的操作系统,而是对进程进行隔离,对可以公用的不进行模拟。因此系统变得轻量,启动也是秒级的。
4、docker的核心概念:
容器:就是docker的logo鲸鱼背上那一个个地集装箱。一个集装箱就是一个容器,比如你在docker上要安装redis、mysql、jdk,那么就需要三个集装箱,也就是三个容器。
镜像:用来生成容器实例的东西
仓库:存放镜像的地方。有个叫docker hub的网站,它就是仓库。不过国内访问docker hub特别慢,国内一般用阿里云和网易云的仓库。
二、docker的安装
1、安装前提:
- centos 6.5或者更高版本
- 如果是centos 6.5,要求系统64位,内核版本2.6.32-431或更高
- 如果是centos 7,要求系统64,内核版本3.10或者更高
- 查看系统版本命令:
cat /etc/redhat-release
- 查看系统内核版本的命令:
uname -r
2、docker的安装:
centos 6安装docker:
yum install -y epel-release
yum install -y docker-io
- 安装后的配置文件:
/etc/sysconfig/docker
- 启动docker服务:
service docker start
- 验证版本信息:
docker version
,出现版本信息说明安装成功。
centos 7安装docker:
- 官网文档:https://docs.docker.com/engine/install/centos/
- 安装gcc相关:
yum install -y gcc
,yum install -y gcc-c++
,安装完执行gcc -v
有版本信息就安装成功。 - 卸载旧版本docker:
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
- 安装需要的软件包:
yum install -y yum-utils
- 设置stable镜像仓库(推荐用阿里云的库):
yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 更新yum软件包索引:
yum makecache fast
- 安装docker ce:
yum install -y docker-ce
- 启动docker:
systemctl start docker
- 测试:
docker -v
,有版本信息则安装成功,再执行docker run hello-world
,会有 hello from docker的信息。 - 镜像加速配置:
mkdir -p /etc/dockervim /etc/docker/daemon.jsonsystemctl daemon-reloadsystemctl restart docker
daemon.json的内容如下:
# 网易云{"registry-mirrors":["http://hub-mirror.c.163.com"]}# 阿里云{"registry-mirrors":["你阿里云的镜像加速链接"]}
获取阿里云加速镜像链接的方法:登陆https://cr.console.aliyun.com,然后点击左下角的“镜像加速器”即可。
- 卸载:
systemctl stop dockeryum -y remove docker-cerm -rf /var/lib/docker