Win10下使用Docker运行redis

在windows下安装一些服务器的开发组件并不是很方便,通常都会用到虚拟机。

Docker 是个好东西,有现成的镜像直接可以使用。不用费时费力在windows上折腾服务器需要的环境。

只要几步就能搞定,非常方便

1、注册账号,安装Docker
2、获取Redis
3、运行Redis
OK

安装Docker

1、注册一个Docker账号
2、下载并安装Docker

官网下载Docker: https://www.docker.com/get-started

安装完成后,在托盘里有个小鲸鱼图标。在命令行cmd下输入 docker version,可以看到相关信息

D:\>docker version
Client:
 Version:           18.06.1-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        e68fc7a
 Built:             Tue Aug 21 17:21:34 2018
 OS/Arch:           windows/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.1-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       e68fc7a
  Built:            Tue Aug 21 17:29:02 2018
  OS/Arch:          linux/amd64
  Experimental:     false

获取Redis

运行命令行(cmd)工具,直接下载 redis镜像。

d:\> docker pull redis

从服务器上拉取redis镜像包,可以使用docker images查看现有的镜像。

D:\>docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
redis                      latest              e1a73233e3be        5 weeks ago         83.4MB

运行Redis 并进行端口映射和持久化

一条语句就搞定

docker run -d --name myredis -p6379:6379 -v /d/dockerdata/redis/data:/data redis-server --appendonly yes

参数说明:
-d ------ 后台运行
--name ------ 实例运行后的名字 myredis
-p6379:6379 ------ 端口映射,冒号前面是windows下的端口,后面是虚拟机的端口
-v /d/dockerdata/redis/data:/data ------ 保存数据的位置。

  • d:\dockerdata\redis\data 前面是windows下的实际保存数据目录
  • /data 虚拟机内的目录

redis-server --appendonly yes ------ 在容器执行redis-server启动命令,并打开redis持久化配置。

第一次映射时,会提示需要输入windows的密码,直接输入即可。

查看运行状态和执行命令

执行完成后,可以使用docker ps查看运行状态

D:\>docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
443ea1afa978        redis               "docker-entrypoint.s…"   About an hour ago   Up About an hour    0.0.0.0:6379->6379/tcp   myredis

可以看到myredis在运行。

在docker下运行redis客户端,就能使用命令来测试

docker exec -it myredis redis-cli

D:\>docker exec -it myredis redis-cli
127.0.0.1:6379> info
# Server
redis_version:4.0.11
redis_git_sha1:00000000
redis_git_dirty:0
... ...

重新恢复启动容器

电脑关闭重启或重启docker后,如果没有设置自动启动容器。通过docker ps -a可以看到所有关闭的容器,启动容器。

docker ps -a #看到关闭的容器
docker start your_container_name
docker attach your_container_name

如启动刚才的myredis

D:\>docker start myredis
myredis

D:\>docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
443ea1afa978        redis               "docker-entrypoint.s…"   2 hours ago         Up 5 seconds        0.0.0.0:6379->6379/tcp   myredis

OK 搞定

Docker是个非常棒的东东,解决了不同环境下大量的部署工作。同样方法非常方便的安装其他镜像,如debian、mysql等等。如想安装mysql,使用docker的search命令就能找到一堆。STARS越高使用的人越多,相对比较安全。

D:\>docker search mysql
NAME                                                   DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mysql                                                  MySQL is a widely used, open-source relation…   7119                [OK]
mariadb                                                MariaDB is a community-developed fork of MyS…   2284                [OK]
mysql/mysql-server                                     Optimized MySQL Server Docker images. Create…   521                                     [OK]
zabbix/zabbix-server-mysql                             Zabbix Server with MySQL database support       133                                     [OK]
hypriot/rpi-mysql                                      RPi-compatible Docker Image with Mysql          98