千家信息网

如何使用Docker安装Redis和Mysql

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容介绍了"如何使用Docker安装Redis和Mysql"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学
千家信息网最后更新 2026年11月03日如何使用Docker安装Redis和Mysql

本篇内容介绍了"如何使用Docker安装Redis和Mysql"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

最近准备写如何实现分布式锁的文章,实现分布式锁可以借助数据库、缓存和Zoopkpeer实现。在实现代码时就需要安装以上软件。于是就想到使用docker来简化我的安装,并可以正好学习一下Docker相关知识,本篇文章就介绍下如何使用Docker安装Mysql/Reids/Zookeeper。

关于docker的安装教程很多,不同的操作系统也不一样,这里不再赘述。如果仅是个人研究和学习,在mac上安装建议大家使用docker for mac安装,https://store.docker.com/editions/community/docker-ce-desktop-mac

Docker基础概念

在使用Docker之前,我们先了解下几个Docker的核心概念

Docker Daemon

Docker引擎,就是运行在后台的一个守护进程,在我们启动它之后,我们就可以通过Docker客户端发送相关Docker的命令。

Docker Images

Docker镜像,这个就类似于我们在安装Windows时的镜像,只不过windows的镜像,在以前我们通常存在光盘上或者U盘里,这里的镜像我们通常会发布到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的核心概念,下面我们来看如何使用Docker安装Redis、Zookeeper、Mysql,并在过程中,学习使用Docker Client的一些常用命令

Redis

查找镜像

使用以下命令在Docker Hub搜索Redis镜像

docker search redis

执行以上命令,会搜索出所有带redis关键字的镜像(为减少篇幅,仅展示部分结果)

yanyanwangdeMacBook-Pro:~ yanyan.wang$ docker search redisNAME                      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATEDredis                     Redis is an open source key-value store th...   3788      [OK]bitnami/redis             Bitnami Redis Docker Image                      47                   [OK]torusware/speedus-redis   Always updated official Redis docker image...   32                   [OK]

其中Name表示镜像仓库的名称,如果不带/则表示Docker官方仓库,带/则表示其他用户公开的镜像。OFFICIAL表示是否为官方仓库,一般我们推荐使用官方的仓库。

拉取镜像

我们使用以下命令拉取,Redis的镜像

docker pull redis:latest

其中redis:latest表示我们下载NAME为redis的镜像,latest表示TAG

在执行完以上命令之后,Docker Client会从Docker镜像注册中心下载Redis的镜像,待下载之后,我们查看本地的镜像

列出所有镜像

我们使用以下命令查看,本地的redis镜像

docker images

执行以上命令,就会显示本地的所有镜像

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZEredis               latest              a858478874d1        10 days ago         184 MB

其中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

执行以上命令,输出如下

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES07f0edc95fb3        redis:latest        "docker-entrypoint..."   2 minutes ago       Up 2 minutes        0.0.0.0:6379->6379/tcp   quirky_davinci

其中Status表示运行状态,Up表示运行中,PORTS表示容器需要对外暴露的端口号

连接、查看容器

我们使用Redis镜像使用redis-cli客户端,连接到redis容器

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

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

192.168.0.101:6379> set "testKey" "test"OK192.168.0.101:6379> get "testKey""test"192.168.0.101:6379>

至此,我们已经完成了Reids的安装。

Zookeeper

接下来我们安装zookeeper,我们使用和redis相同的方法。直接使用最少的步骤安装,不再做过多解释

查找zookeeper镜像

docker search zookeeper

查找结果如下:

NAME                           DESCRIPTION                                     STARS     OFFICIAL   AUTOMATEDjplock/zookeeper               Builds a docker image for Zookeeper versio...   160                  [OK]zookeeper                      Apache ZooKeeper is an open-source server ...   157       [OK]mesoscloud/zookeeper           ZooKeeper                                       70                   [OK]digitalwonderland/zookeeper    Latest Zookeeper - clusterable                  14                   [OK]springxd/zookeeper             A Docker image that can run a ZooKeeper se...   6                    [OK]

拉取镜像

docker pull zookeeper

创建并启动容器

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

使用zookeeprt镜像创建并启动容器,我们把容器的2181映射到机器的2181上,同样把当前目录的data 挂载到容器的/data

查看当前容器列表

yanyanwangdeMacBook-Pro:zookeeper yanyan.wang$ docker psCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                        NAMES44b43e486817        zookeeper:latest    "/docker-entrypoin..."   24 minutes ago      Up 24 minutes       2888/tcp, 0.0.0.0:2181->2181/tcp, 3888/tcp   mystifying_wing2358c79358d6        redis:latest        "docker-entrypoint..."   About an hour ago   Up About an hour    0.0.0.0:6379->6379/tcp                       fervent_lamarr

进入容器

docker exec -it 44b43e486817 /bin/bash

进入容器之后,ls查看操作目录,可以查看下有哪些目录

bash-4.3# lsLICENSE.txt                bin                        dist-maven                 lib                        zookeeper-3.4.10.jar.ascNOTICE.txt                 build.xml                  docs                       recipes                    zookeeper-3.4.10.jar.md5README.txt                 conf                       ivy.xml                    src                        zookeeper-3.4.10.jar.sha1README_packaging.txt       contrib                    ivysettings.xml            zookeeper-3.4.10.jar

Mysql

接下来我们安装Mysql,和以上直接从docker注册中心拉取镜像不同。我们首先构建自己的mysql镜像,然后在创建并启动容器

构建镜像

编写Dockerfile文件

我们可以使用Dockerfile来快速的构建。Dockerfile实际上就是一种编写Docker镜像的脚本,Dockerfile脚本有固定的格式,通过这些固定的格式,我们可以编写不同需求的Docker镜像。以下是构建Mysql镜像的脚本以及脚本的含义

## 设置基础镜像FROM mysql:latest## 设置维护者信息MAINTAINER yywang ## 设置描述信息LABEL Descripttion="This image is build for MAC to use mysql" Vendor="GitHub" Version="latest"## 设置镜像制作过程中,需要执行的命令RUN apt-get updateRUN apt-get -y install vimRUN usermod -u 1000 mysqlRUN mkdir -p /var/run/mysqldRUN chmod -R 777 /var/run/mysqld

其中FROM 表示设置基础镜像指令,该指令有固定的格式,即"仓库名:标签名",RUN 表示在镜像构建过程中,需要执行的命令。

把以上脚本保存在一个叫Dockerfile的文件下,这时mysql镜像的Dockfile的脚本就完成了。

构建mysql镜像

在Dockerfile文件的同一目录下输入如下命令:

docker build -t yywang/mysql-osx:latest .

其中-t 指定了镜像的名称,. 这一点表示读取当前目录下的Dockerfile文件

查看镜像

在执行完成以上命令后,我们查看当前镜像

yanyanwangdeMacBook-Pro:zookeeper yanyan.wang$ docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZEyywang/mysql-osx    latest              38c6579b6f70        4 minutes ago       446 MB

可以看出yywang/mysql-osx就是我们刚刚构建的镜像

创建并启动容器

创建并启动mysql容器

接下来我们就创建并启动mysql容器

docker run -d -h mysql \  -v $PWD/mysql:/var/lib/mysql \  -p 0.0.0.0:3306:3306 --name mysql \  -e MYSQL_ROOT_PASSWORD=123456 yywang/mysql-osx

其中-e 表示设置mysql的root账户密码为123456

连接、查看容器

我们使用Mysql镜像的mysql客户端,连接到mysql容器

docker run -it yywang/mysql-osx mysql -h292.168.0.101 -uroot -p123456

登录完成后,我们就可以使用mysql的命令操作mysql

mysql> select GET_LOCK("testKey",0);+-----------------------+| GET_LOCK("testKey",0) |+-----------------------+|                     1 |+-----------------------+1 row in set (0.01 sec)mysql> select RELEASE_LOCK("testKey");+-------------------------+| RELEASE_LOCK("testKey") |+-------------------------+|                       1 |+-------------------------+1 row in set (0.00 sec)

至此Mysql的安装也已经完成。

"如何使用Docker安装Redis和Mysql"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

镜像 容器 命令 客户 目录 脚本 接下来 仓库 客户端 运行 就是 文件 过程 学习 不同 基础 官方 文章 格式 概念 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技创新与互联网经济 互联网科技开发公司 北京互联网科技有限公司 极限挑战互联网科技 天津摩尔互联网科技 天下捷融互联网科技 广州善班互联网科技 互联网科技视频素材 互联网科技类展会 佩信高科技互联网 深圳国际航运科技和互联网 互联网教育科技公司vipkid 互联网时代科技改变生活 南博望互联网科技有限公司 21世纪互联网科技成就 萌小萌互联网科技河南有限公司 科技信息时代互联网发展 绵阳真晨互联网科技有限公司 山东蛋芒互联网科技有限公司 知域互联网科技有限公司官网 互联网下的科技发展 北京禾田雨橡互联网科技 成都互联网科技公司100强 以后互联网后是啥科技 昭通云南众福互联网科技有限公司 杭州壁岐互联网科技有限公司 互联网科技和信息 南通创西澳互联网科技有限公司 广州富喜互联网络科技 互联网营销推广黑科技
0