简介: Docker属于Linux容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux容器解决方案。理由很简单,用了的人都说好用。在多系统的分布式项目中,往往传统的部署发包等操作,那是让每个上线的程序员恨的牙痒呀。通常都是通宵奋战,上生产解决各种部署发包问题。

一、为什么要使用Docker?

理由很简单,用了的人都说好用。在多系统的分布式项目中,往往传统的部署发包等操作,那是让每个上线的程序员恨的牙痒呀。通常都是通宵奋战,上生产解决各种部署发包问题。

个人简单总结一下三点:

1.部署简单且灵活,有独立的运行环境,避免了不必要的冲突。

2.节省了资源开销

3.类似于java, 打包一次各处部署运行。项目迁移灵活便捷。

二、什么是docker呢?

在讲之前,先来说说什么时容器?什么时虚拟机?

看下图:

image

简单解释一下,图左为容器,图右为虚拟机。

Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。

两图比较,我们可以看到在容器中是由docker分配给项目独立的虚拟资源,项目运行是与底层系统隔离开来的。但虚拟机中可以看到项目运行是直接分配资源与底层系统交互。显然,如果App2不工作了,对于容器来说系统资源会运用在App1和3上。而对于VM,由于资源已经分配出去,所以就会出现利用率不高情况。

区别:

特性 容器 虚拟机
启动 秒级 分钟级
硬盘使用 一般为MB 一般为GB
性能 接近原生 弱于
系统支持量 单机支持上千个容器 一般是几十个

docker架构图:

image

解释:

Client:

docker client: 客户端提供操作指令给用户,用以连接服务端操作docker。

docker Machine:是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

Hosts:

container:一个独立运行的容器,每个容器之间没半毛钱关系,也不影响对方。

registers:

image:是一个镜像文件,host主机从远程仓库拉去image镜像后,可以创建container容器,然后执行运行容器。

简单来讲,docker先安装到本机后,通过docker客户端操作指令,拉去远程docker仓库中已经打包好的项目镜像文件到本地。然后通过指令操作镜像创建容器,最后启动容器完成部署。

三、安装docker

说了这么多,不如安装后实际操作一把,就什么都知道啦~

安装环境:

centos7

安装命令:

yum install docker

设置开机自动启动:

service docker start

查看版本:

docker version

image

修改docker仓库地址:

命令:

vi /etc/docker/daemon.json

内容:

{ “registry-mirrors”: “https://registry.docker-cn.com”, “live-restore”: true }

四、简单的实践-部署ActiveMq

1.拉取mq镜像

命令:docker pull rabbitmq:management

2.运行启动

命令:docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:management

3.访问管理界面的地址

就是 http://[宿主机IP]:15672,可以使用默认的账户登录,用户名和密码都guest

五、Docker操作命令

$ docker ps // 查看所有正在运行容器

$ docker stop containerId // containerId 是容器的ID

$ docker ps -a // 查看所有容器

$ docker ps -a -q // 查看所有容器ID

$ docker stop (docker ps -a -q) // stop停止所有容器 docker rm $(docker ps -a -q) // remove删除所有容器

 

小贴士:找科劳得买云服务器有优惠并且免费提供Docker安装部署服务哦!关于云服务器或Docker的更多技术问题可联系科劳得在线客服或17155320707(微信同号)免费咨询