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》文章的最后。