windows docker(二) 启动存在的容器
启动存在的容器
图形操作
命令操作
docker ps -a(查看所有开启或者停止的容器)
docker ps (查看所有开启的容器)
用命令启动容器
docker run -d --name myredis -p 6379:6379 -v d:/docker/redis/data:/data -v d:/docker/redis/config/redis.conf:/etc/redis/redis
.conf redis:latest redis-server /etc/redis/redis.conf
查看 Redis 容器的外挂目录
如果这个容器是别人启动起来了,需要知道这个外挂目录
Docker 中 “外挂目录” 主要分两种场景:宿主机绑定挂载(-v 宿主机目录:容器内目录) 和 Docker 数据卷(-v 卷名:容器内目录),需通过 docker inspect 命令查看具体配置:
docker inspect -f ‘{{ .Mounts }}’ 你的Redis容器名称/ID
例如:
docker inspect -f '{{ .Mounts }}' myredis
执行命令后,会输出容器的所有挂载信息,重点关注 Source(宿主机路径)、Destination(容器内路径)、Type(挂载类型)
场景 1:宿主机绑定挂载(Type: bind)
Source: d:/docker/redis/data → 宿主机的外挂目录(你要找的实际目录)
Destination: /data → 容器内对应的目录(Redis 数据存储路径)
Type: bind → 挂载类型为 “宿主机目录绑定”
此时直接访问宿主机的 /data/redis/data 目录,即可查看 Redis 外挂的数据(如 .rdb 持久化文件)。
场景 2:Docker 数据卷(Type: volume)
若输出包含类似内容,说明 Redis 外挂目录是Docker 数据卷(而非宿主机直接目录),卷名为 redis-data:
[{volume redis-data /var/lib/docker/volumes/redis-data/_data /data local rw true local}]
Name: redis-data → Docker 数据卷名称
Source: /var/lib/docker/volumes/redis-data/_data → 数据卷在宿主机的实际存储路径(你要找的外挂目录)
Destination: /data → 容器内对应的目录
Type: volume → 挂载类型为 “Docker 数据卷”
此时访问宿主机的 /var/lib/docker/volumes/redis-data/_data 目录,即可查看 Redis 外挂的数据(注意:/var/lib/docker 是 Docker 默认数据存储路径,不同系统可能略有差异)。
常见问题解决
1.执行 docker inspect 后无挂载信息
原因:启动 Redis 容器时未配置外挂目录(即未加 -v 参数),数据默认存储在容器内部(容器删除后数据会丢失)。
解决:若需后续使用外挂目录,需重新创建容器并添加 -v 参数(如 docker run -d --name my-redis -v /宿主机目录:/data redis)。
2.找不到宿主机的外挂目录(如 /data/redis/data 不存在)
原因:启动容器时指定的宿主机目录不存在,Docker 会自动创建该目录(但可能权限不足)。
解决:检查目录权限(如 ls -ld /data/redis/data),若权限不足,执行 chmod 755 /data/redis/data 调整。