You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker本地现有容器共享卷执行命令报错求助

Docker卷共享问题解决

错误根源

你用错了docker run的参数逻辑:这个命令是用来新建并启动容器的,最后一位参数必须是镜像名称,但你填了已有的容器名ubuntu20,Docker会误以为这是镜像名,跑去Docker Hub拉取不存在的ubuntu20镜像,所以报错。

正确操作方案

给已存在的容器挂载共享卷

如果ubuntu20容器已经存在,Docker没法直接给运行中的容器修改挂载配置,得按以下步骤来:

  • 先停掉容器:
    sudo docker stop ubuntu20
    
  • 删除原容器(容器创建后挂载规则不能直接改,只能删了重建):
    sudo docker rm ubuntu20
    
  • 用原镜像重新创建容器,同时指定挂载卷和容器名:
    假设你当初创建ubuntu20用的是官方ubuntu:20.04镜像,命令如下:
    sudo docker run -i -t --name ubuntu20 --mount source=volume,target=/volume-shared ubuntu:20.04
    
    这里--name ubuntu20是指定容器名称,最后面的ubuntu:20.04才是正确的镜像名。

创建多个容器共享同一卷

如果要新建多个容器共享同一个卷,先确保卷已经创建(没创建的话执行下面命令):

sudo docker volume create volume

然后给每个新容器挂载这个卷,比如再建一个叫ubuntu20-second的容器:

sudo docker run -i -t --name ubuntu20-second --mount source=volume,target=/volume-shared ubuntu:20.04

这样两个容器里的/volume-shared目录会共用同一个Docker卷的内容。

验证共享是否成功

随便进入一个容器,在共享目录创建文件:

sudo docker exec -it ubuntu20 bash
touch /volume-shared/shared-file.txt
exit

再进入另一个容器查看:

sudo docker exec -it ubuntu20-second ls /volume-shared

如果能看到shared-file.txt,就说明卷共享生效了。

内容的提问来源于stack exchange,提问作者swati sujaya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 21:10:37