一、開始開始-命令歸總:
1、搜索redis 3.2版本鏡像: docker search redis:3.2
2、下載3.2版本鏡像:docker pull redis:3.2
3、查看下載的鏡像: docker images
4、運行:docker run -p 26379:6379 -d redis:3.2 redis-server
5、查看docker 運行的鏡像:docker ps
6、在docker 容器內開啓redis的client 端,連接redis
docker exec -ti {CONTAINER ID} redis-cli -h localhost -p 6379 -a you_set_redis_password
CONTAINER ID: 可以通過步驟5 命令查看確認
-h localhost -p 6379 可省略不寫,localhost 也可以替換爲 127.0.0.1 或者docker 的ip
7、查看運行的鏡像ip
docker inspect {鏡像的名稱或者CONTAINER ID} | grep IPAddress
{鏡像的名稱或者CONTAINER ID} : 通過步驟5 的命令,從執行結果中找到
二、詳細示例講解:
1、進入到docker 安裝的目錄,使用docker命令搜索redis
docker search redis
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]# pwd
/usr/local/docker
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]# docker search redis
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/redis Redis is an open source key-value store th... 7157 [OK]
docker.io docker.io/bitnami/redis Bitnami Redis Docker Image 120 [OK]
docker.io docker.io/sameersbn/redis 76 [OK]
docker.io docker.io/grokzen/redis-cluster Redis cluster 3.0, 3.2, 4.0 & 5.0 52
docker.io docker.io/kubeguide/redis-master redis-master with "Hello World!" 29
docker.io docker.io/rediscommander/redis-commander Alpine image for redis-commander - Redis m... 27 [OK]
docker.io docker.io/redislabs/redis Clustered in-memory database engine compat... 22
docker.io docker.io/arm32v7/redis Redis is an open source key-value store th... 17
docker.io docker.io/redislabs/redisearch Redis With the RedisSearch module pre-load... 16
docker.io docker.io/oliver006/redis_exporter Prometheus Exporter for Redis Metrics. Su... 12
docker.io docker.io/webhippie/redis Docker images for Redis 10 [OK]
docker.io docker.io/s7anley/redis-sentinel-docker Redis Sentinel 9 [OK]
docker.io docker.io/insready/redis-stat Docker image for the real-time Redis monit... 7 [OK]
docker.io docker.io/arm64v8/redis Redis is an open source key-value store th... 6
docker.io docker.io/bitnami/redis-sentinel Bitnami Docker Image for Redis Sentinel 6 [OK]
docker.io docker.io/redislabs/redisgraph A graph database module for Redis 6 [OK]
docker.io docker.io/centos/redis-32-centos7 Redis in-memory data structure store, used... 4
docker.io docker.io/redislabs/redismod An automated build of redismod - latest Re... 3 [OK]
docker.io docker.io/circleci/redis CircleCI images for Redis 2 [OK]
docker.io docker.io/frodenas/redis A Docker Image for Redis 2 [OK]
docker.io docker.io/wodby/redis Redis container image with orchestration 2 [OK]
docker.io docker.io/runnable/redis-stunnel stunnel to redis provided by linking conta... 1 [OK]
docker.io docker.io/tiredofit/redis Redis Server w/ Zabbix monitoring and S6 O... 1 [OK]
docker.io docker.io/cflondonservices/redis Docker image for running redis 0
docker.io docker.io/xetamus/redis-resource forked redis-resource 0 [OK]
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]#
也可以指定版本搜索:
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]# docker search redis:3.2
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/kiratalent/redis Pinned redis:3.2.10 0
docker.io docker.io/roicostas/redis-benchmark Common redis:3.2 image that executes a "ge... 0
docker.io docker.io/uretgec/redis-alpine Redis:3.2.3 - Alpine:3.4 with conf file 0 [OK]
docker.io docker.io/zembi4/sentinel Simple sentinel image from redis:3.2 0
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]#
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]#
2、下載redis鏡像
#下載redis3.2版本
docker pull redis:3.2
#或者下載默認的最新版本
docker pull redis
3、查看下載的鏡像
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/mysql 5.6 c30095c52827 13 days ago 256 MB
docker.io/redis latest 598a6f110d01 2 weeks ago 118 MB
docker.io/redis 3.2 87856cc39862 9 months ago 76 MB
由上可知,tag 爲 latest的版本爲最新的,tag爲3.2的版本爲指定redis 版本下載的
4、運行redis 鏡像
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]# docker run -p 26379:6379 -d redis:latest redis-server
58a2c68f562dea4c323fa42434623a43c69f9984f410335a14d7bb85ee712301
#可以修改端口,同時運行多個實例
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]# docker run -p 26380:6380 -d redis:latest redis-server
58a2c68f562dea4c323fa42434623a43c69f9984f410335a14d7bb85ee712301
其中:
-p 26380:6380 —— 26380 指的是宿主機的端口號,6380 指的是docker 容器的端口號,即把宿主機的端口號26380映射給docker容器的6380端口,其他用戶可以通過宿主機ip:26380 訪問docker內6380的reids實例
-d redis:latest —— 即表示運行的是redis的最新實例,當然也可以把 latest 替換爲你下載的redis版本號,比如3.2
5、docker運行的鏡像查看:
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
28b5b41fd27c redis:latest "docker-entrypoint..." 19 minutes ago Up 19 minutes 6379/tcp, 0.0.0.0:26380->6380/tcp hopeful_pasteur
58a2c68f562d redis:latest "docker-entrypoint..." 20 minutes ago Up 20 minutes 0.0.0.0:26379->6379/tcp zen_varahamihira
6、在docker 容器內開啓redis的client 端,連接redis
#進入 6380的redis客戶端 , 28b5b41fd27c是redis運行的實例id
docker exec -ti 28b5b41fd27c redis-cli
#或者使用 hopeful_pasteur是該redis默認的一個名稱
docker exec -ti hopeful_pasteur redis-cli
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]# docker exec -ti 28b5b41fd27c redis-cli
127.0.0.1:6379>
127.0.0.1:6379> exit
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]# docker exec -ti hopeful_pasteur redis-cli
127.0.0.1:6379>
7、查看運行的鏡像ip
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
28b5b41fd27c redis:latest "docker-entrypoint..." 29 minutes ago Up 29 minutes 6379/tcp, 0.0.0.0:26380->6380/tcp hopeful_pasteur
58a2c68f562d redis:latest "docker-entrypoint..." 29 minutes ago Up 29 minutes 0.0.0.0:26379->6379/tcp zen_varahamihira
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]#
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]#
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]# docker inspect hopeful_pasteur | grep IPAddress
"SecondaryIPAddresses": null,
"IPAddress": "172.18.0.3",
"IPAddress": "172.18.0.3",
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]#
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]#
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]# docker inspect zen_varahamihira | grep IPAddress
"SecondaryIPAddresses": null,
"IPAddress": "172.18.0.2",
"IPAddress": "172.18.0.2",
匹配也可以
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]# docker inspect 28b5b41f | grep IPAddress
"SecondaryIPAddresses": null,
"IPAddress": "172.18.0.3",
"IPAddress": "172.18.0.3",
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]#
[root@iz2ze9oqeiq7ozp9jvpdm6z docker]# docker inspect 58a2c6 | grep IPAddress
"SecondaryIPAddresses": null,
"IPAddress": "172.18.0.2",
"IPAddress": "172.18.0.2",