(十二)Docker安装Redis

itmahy
itmahy
发布于 2024-01-18 / 33 阅读
0
0

(十二)Docker安装Redis

1. 搜索镜像

docker search redis --limit 5

搜索redis镜像是否存在,选择stars最多的,一般是第一个。

2. 拉取镜像

docker pull redis:6.0.8

3. 查看镜像

docker images

查看是否有刚刚拉取的镜像。

4. 创建容器

4.1 创建并查看网络

# 创建网络
docker network create redis-network01
# 查看是否创建成功
docker network ls 

4.2 使用 run 命令创建容器

# 执行下面的命令创建容器
docker run \
-d \
-p 6379:6379 \
--privileged=true \
-v /itmahy/redis/redis.conf:/etc/redis/redis.conf \
-v /itmahy/redis/data:/data \
--name itmahy-redis \
redis:6.0.8 \
redis-server /etc/redis/redis.conf

# 参数说明
-d: 后台运行,不进入交互式界面
--privileged=true: 容器中的root会得到宿主机的root权限
-v: 数据卷
redis-server /etc/redis/redis.conf : 以配置文件启动redis,加载容器内的 redis.conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是宿主机下共享的 /itmahy/redis/redis.conf
-p 6379:6379 : 容器中端口6379映射到宿主机的端口为6379
--name : 给容器起一个名字

5. 查看容器是否运行

# 查看运行的容器
docker ps
# 查看所有的容器
docker ps -a

6. 进入容器并测试

[root@localhost ~]# docker exec -it 712e73cc254a /bin/bash
root@712e73cc254a:/data# redis-cli
127.0.0.1:6379> set name itmahy
OK
127.0.0.1:6379> get name
"itmahy"
127.0.0.1:6379>

7.关于Docker将端口号写入到iptables的问题

默认情况下当Docker启动容器映射端口时,会直接在iptables添加规则开启添加端口。而 firewalld 实际上也是在iptables写入规则。因此 firewalld和docker属于是同级的应用,但是firewalld不会去检测 docker 写入的规则,就会导致 docker 可以开启firewalld没有允许的端口
具体的配置请查看《(十)Docker安装tomcat》文章的最后。


评论