为什么Docker?

引用官方定义:Docker是以Docker容器为资源分割和调度的基本单位,封住整个软件运行时环境,为开发者和系统管理员设计的,用于构建、发布和运行分布式应用的平台。他是一个跨平台、可移植并且简单易用的容器解决方案。Docker的源代码托管在GitHub上,基于Go语言开发并遵从Apache 2.0协议。Docker可在容器内部快速自动化地部署应用,并通过操作系统内核技术(namespaces,cgroups等)为容器提供资源隔离与安全保障。

简单的理解:Docker是一个新的容器化的技术,它轻巧,且易移植。


Docker解决了那些问题?

1、程序在我这跑得好好的,在你那怎么就不行呢???

程序在我这跑得好好的,去你那就不行了,这个问题显然是环境不一致导致的。而在Docker中,Docker image中包含了程序需要的所有的运行时依赖,比如java的程序,那么image中就必须包含jdk;比如Python的程序,肯定要在image中包含对应版本的Python解释器。Docker把整个运行时环境打包放到image中,所以搞定了环境依赖问题!


2、系统好卡,肯定是又有哪个哥们写死循环了!!!

如果一个服务器上面跑着多个项目,其中一个项目狂吃内存和CPU,占用了太多的系统资源,这就会影响到其他程序的运行。为了解决这种个问题,虚拟机出现了,做了资源的隔离,不同用户之间彼此老死不相往来,不会相互的影响。但是虚拟机有缺点:创建速度慢,迁移起来麻烦等等。为了避免使用这种重量级的虚拟化方案,Docker出现了,Docker利用Linxu内核级的一些隔离方案(Docker通过namespace实现了资源隔离,通过cgroups实现了资源限制)。让虚拟化变得轻量了起来,创建一个容器就是瞬间的,并且使性能损耗更加的少。


Centos7 Docker安装

Docker要求Centos系统的内核版本高于3.10,所以安装Docker之前先使用uname -r命令查看你当前内核的版本是否支持Docker


Linux内核版本

uname -a

Docker之Docker介绍及安装配置_docker


使用yum安装Docker

sudo yum install docker

启动Docker

service docker start

设置开机启动docker

systemctl enable docker

查看docker是否安装成功

docker info 查看docker的配置信息

Docker之Docker介绍及安装配置_docker_02

docker version 查看docker的版本信息

Docker之Docker介绍及安装配置_docker_03

测试运行hello-world

sudo docker run hello-world

Docker之Docker介绍及安装配置_docker_04

卸载Docker

1、卸载docker

sudo yum remove docker

2、删除残留文件

卸载Docker时,不会删除镜像,容器及数据卷,所以执行下面命令进行删除。

sudo rm -rf /var/lib/docker

Docker代理设置

1、在/etc/systemd/system/下创建docker.service.d文件夹

mkdir -p /etc/systemd/system/docker.service.d

2、在docker.service.d下创建http-proxy.conf文件

vim /etc/systemd/system/docker.service.d/http-proxy.conf

3、在http-proxy.conf添加环境变量:

[Service]Environment="HTTP_PROXY=http://proxy1.bxx.xxx:8080/"12

4、重启docker

sudo service docker restart