Docker容器下部署redis和zookeeper

“有物混成,先天地生,寂兮寥兮,独立而不改,周行而不殆,可以为天地母。
吾不知其名,字之曰道,强为之名曰大。
大曰逝,逝曰远。
远曰反。
故道大,天大,地大,王亦大。
域中有四大,而王居其一焉。
人法地,地法天,天法道,道法自然。”[1]

Docker

Mac下安装Docker很方便,直接下载docker for mac。安装之后在桌面的顶部有docker的菜单:


docker_mac_main.png

安装完之后,打开终端,即可运行各种docker指令。

核心概念

  • Docker Daemon
    Docker引擎,就是运行在后台的一个守护进程,在我们启动它之后,我们就可以通过Docker客户端发送相关Docker的命令。
  • Docker Images
    Docker镜像,我们通常会发布镜像到Docker Registry
  • Docker Containers
    Docker容器,在获取到Docker镜像之后,我们可以运行该镜像,此时便会启动一个Docker容器,该容器中运行镜像中的程序。如果把Docker镜像理解为一个类的话,那么Docker容器就是一个实例
  • Docker Client
    Docker客户端,我们安装完Docker之后,我们打开终端使用docker 相关命令进行操作,这些命令便是Docker客户端的命令,另外还有一个基于REST API的Docker客户端,REST API一般用于在开发一些基于Docker运维的系统中使用。
  • Docker Registry
    Docker镜像注册中心,Docker的官网的注册中心为http://hub.docker.com。我们也可以自己搭建自己的注册中心。

docker下安装redis

查找redis镜像

docker search redis
docker_serach_redis.png

基本上排在第一位的就是官方的镜像。
拉取redis镜像

docker pull redis:latest

其中redis:latest表示我们下载NAME为redis的镜像,latest表示TAG。
在执行完以上命令之后,Docker Client会从Docker镜像注册中心下载Redis的镜像,待下载之后,我们查看本地的镜像。
查看本地镜像

docker images

docker_images.png

其中IMAGE ID表示镜像ID,具有唯一性
创建并启动容器
使用以下命令,使用Reids镜像,创建并启动Redis容器

docker run -p 6379:6379 -v $PWD/data:/data  -d redis:latest redis-server --appendonly yes

执行以上命令,我们就使用redis:latest镜像创建并启动了一个Redis容器

-p 6379:6379:将容器的6379端口映射成主机的6379端口
-v $PWD/data:/data :将主机中当前目录下的data挂载到容器的/data
redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置

查看容器启动情况

docker ps
docker_ps.png

其中Status表示运行状态,Up表示运行中,PORTS表示容器需要对外暴露的端口号
** 连接、查看容器**
我们使用Redis镜像使用redis-cli客户端,连接到redis容器

docker run -it redis:latest redis-cli -h 192.168.1.103

执行以上命令,我们就连接到redis容器,接下来我们就可以使用redis命令进行操作:


docker_dive_redis_cli.png

Docker下安装zookeeper

单节点的安装,跟上述安装redis步骤相同,我们回忆一下:

docker search zookeeper
docker pull zookeeper:latest
docker run -p 2181:2181 -v $PWD/data:/data  -d zookeeper:latest

进入容器

docker exec -it 44b43e486817 /bin/bash

这篇博文讲述了 Docker容器进入的4种方式,可以移步去看看。

提交镜像以便重用

我们可以将上述redis、zookeeper镜像保存,这样可以很简单的进行多节点部署成集群的方式。
docker commit :从容器创建一个新的镜像。

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

OPTIONS说明:

-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。

如将上述的redis提交镜像:

docker commit -a "song" -m "my_redis_base_images" c5355f8853e4  redis:mybase 

  1. 老子《道德经》第二十五章,老子故里,中国鹿邑。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,695评论 15 147
  • 《Docker从入门到实践》阅读笔记 原书地址: https://yeasy.gitbooks.io/docker...
    GuoYuebo阅读 13,907评论 1 39
  • 最近研究了几天docker的快速部署,感觉很有新意,非常轻量级和方便,打算在公司推广一下,解放运维,省得每次部署一...
    Helen_Cat阅读 5,179评论 0 4
  • 1****、前言进入云计算的时代,各大云提供商AWS,阿里云纷纷推出针对Docker的服务,现在Docker是十分...
    燕京博士阅读 4,162评论 0 0
  • 冬日旷野,身后是万亩红梅妖娆,眼前是漫天雪花翩跹。目送着你的背影,融化在雪的最深处,我也迷失在往事的追忆中...
    流雲飛渡阅读 3,621评论 5 4