Win10下使用Docker运行redis 并做持久化
在windows下安装一些服务器的开发组件并不是很方便,通常都会用到虚拟机。
Docker 是个好东西,有现成的镜像直接可以使用。不用费时费力在windows上折腾服务器需要的环境。
只要几步就能搞定,非常方便
- 注册账号,安装Docker
- 获取Redis
- 运行Redis OK
安装Docker
注册一个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: falseServer:
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 --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