Docker 虚拟机之 Redis

时间:2022-05-03
本文章向大家介绍Docker 虚拟机之 Redis,主要内容包括1.9.2. Redis、1.9.2.2. 启动一个 Redis 实例、1.9.2.3. 进入 Redis、1.9.2.4. 启动一个 Redis 实例并映射 6379 端口、1.9.2.5. 维护容器、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

本文节选自《Netkiller Virtualization 手札》

1.9.2. Redis

1.9.2.1. 获取 Redis 镜像

docker pull redis

		# docker pull redis  
Using default tag: latest
latest: Pulling from library/redis
10a267c67f42: Pull complete 
5b690bc4eaa6: Pull complete 
4cdd94354d2a: Pull complete 
71c1f30d820f: Pull complete 
c54584150374: Pull complete 
d1f9221193a6: Pull complete 
d45bc46b48e4: Pull complete 
Digest: sha256:548a75066f3f280eb017a6ccda34c561ccf4f25459ef8e36d6ea582b6af1decf
Status: Downloaded newer image for redis:latest		

1.9.2.2. 启动一个 Redis 实例

# docker run --name my-redis -d redis
10207174e18f61290f9c869e6437fa787e459e07b076b82cedf800a8c37c515d		

查看启动情况

		# docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
10207174e18f        redis               "docker-entrypoint..."   8 minutes ago       Up 8 minutes        6379/tcp            my-redis		

1.9.2.3. 进入 Redis

		# docker run -it --link my-redis:redis --rm redis redis-cli -h redis -p 6379
redis:6379> set name neo
OK
redis:6379> get name
"neo"
redis:6379> exit				

1.9.2.4. 启动一个 Redis 实例并映射 6379 端口

		# docker rm my-redis
my-redis

# docker stop my-redis
my-redis

# docker run --name my-redis -d -p 6379:6379 redis
10207174e18f61290f9c869e6437fa787e459e07b076b82cedf800a8c37c515d

# docker ps -a                                    
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
1c4540d8617f        redis               "docker-entrypoint..."   2 seconds ago       Up 1 second         0.0.0.0:6379->6379/tcp   my-redis		

检查端口

		# ss -lnt | grep 6379
LISTEN     0      128         :::6379                    :::*  

1.9.2.5. 维护容器

使用下面命令进入容器维护 Redis

		# docker exec -it my-redis /bin/bash
root@1c4540d8617f:/data#