美文网首页Docker实战我爱编程
Docker容器下部署redis和zookeeper

Docker容器下部署redis和zookeeper

作者: 南宋临安府 | 来源:发表于2018-04-12 20:10 被阅读113次

“有物混成,先天地生,寂兮寥兮,独立而不改,周行而不殆,可以为天地母。
吾不知其名,字之曰道,强为之名曰大。
大曰逝,逝曰远。
远曰反。
故道大,天大,地大,王亦大。
域中有四大,而王居其一焉。
人法地,地法天,天法道,道法自然。”[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容器下部署redis和zookeeper

    本文链接:https://www.haomeiwen.com/subject/tigxkftx.html