docker指定配置文件启动本地redis镜像 Unable to find image ‘redis-server:latest‘ locally

目录

问题复现 

1.启动命令:

2.报错信息:

 解决

1.排除网络问题

2.查看docker官方文档指定conf的示例

3.调整命令顺序

运行成功!

总结:docker官网没有明确写出原因,但不难推断只有先获取到镜像才能根据指定的配置文件启动,redis是如此,其他需要指定配置文件的容器也是如此

问题复现 

1.启动命令:

docker run -d -it -p 6379:6379 
-v /opt/docker/redis/data:/data 
-v /etc/redis/redis.conf:/etc/redis/redis.conf 
redis-server /etc/redis/redis.conf 
--name redis 
redis

2.报错信息:

Unable to find image 'redis-server:latest' locally
Trying to pull repository docker.io/library/redis-server ... 
/usr/bin/docker-current: repository docker.io/redis-server not found: does not exist or no pull access.
See '/usr/bin/docker-current run --help'.

 解决

1.排除网络问题

  • 先测试用 docker pull redis 拉取镜像能不能成功,成功则说明网络无问题
  • 拉取失败则 配置文件/etc/docker/daemon.json,添加阿里云镜像
  • vim ​​​​/etc/docker/daemon.json
    # 配置阿里云镜像 
    { 
     "registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"] 
     }
    
    # 重启dokcer服务
    systemctl restart docker

2.查看docker官方文档指定conf的示例

        dokcer redis 文档链接:Docker

看这里:docker官方将 redis-server命令放到了 指定镜像 redis 的后面

# docker官网示例

$ docker run 
-v /myredis/conf:/usr/local/etc/redis 
--name myredis 
redis 
redis-server /usr/local/etc/redis/redis.conf

3.调整命令顺序

docker run -d -it -p 6379:6379 
-v /opt/docker/redis/data:/data 
-v /etc/redis/redis.conf:/etc/redis/redis.conf 
--name redis 
redis 
redis-server /etc/redis/redis.conf 

运行成功!

总结:docker官网没有明确写出原因,但不难推断只有先获取到镜像才能根据指定的配置文件启动,redis是如此,其他需要指定配置文件的容器也是如此