阿里云ECS服务器安装docker-阿里云开发者社区

开发者社区> react-thunk> 正文

阿里云ECS服务器安装docker

简介:
+关注继续查看

一、为什么要使用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 _镜像_基本操作 - 容器_镜像_服务

三、安装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镜像
如果单纯得做微服务开发,虽然也可以通过传统得脚本,或者Jinkens工具以脚本的方式进行CI/CD发布,但是相对于Docker镜像来讲,还不是最方便的,所以如果要做CI/CD,最好还是使用Docker镜像来发布。
1248 0
docker服务发现——最终测试
最终测试 首先启动confd,按照前面的命令,去掉onetime参数,放到后台最为守护进程长期运行,确保etcd注册目录修改之后,能准实时生成haproxy的配置文件。 然后在两台slave,一台启动两个nginx容器,一台启动一台,模拟上面的a.abc.com和b.abc.com两个域名。
1715 0
docker服务发现——etcd集群
etcd etcd用于服务发现的基础注册和通知,功能类似于zk,通过注册和监听,实现基础的服务发现。 安装 etcd安装非常简单,可以用go自己编译,etcd也提供了可以直接使用的二进制包(64位)。 具体的安装提示页面在github上, 直接按照上面的描述下载即可。为了方便,把里面的et
10675 0
docker服务发现——confd
confd confd通过读取配置(支持etcd,consul,环境变量),通过go的模板,生成最终的配置文件。 安装 安装和etcd一样,非常方便,已经提供了64位的可执行程序,下载下来之后直接放到PATH中(/usr/local/bin)即可(别忘了+x)。 haproxy配置生成 c
8227 0
部署 Docker Registry 服务
本文讲的是部署 Docker Registry 服务,【编者的话】本文阐释了怎样部署私有的 Docker Registry 服务 —— 或为公司私用,或公开给其他用户使用。例如,你公司可能需要私人的 Registry 来支持持续集成(CI)。
2331 0
+关注
4
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载