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

如何将容器1的/usr/share/nginx/html目录映射到容器2的对应路径

容器间共享目录的实现方法

完全可以实现,主流有两种可行方案,操作方法如下:

方案1:使用--volumes-from参数直接共享容器挂载路径

这就是你提到的volumes-from的标准用法,操作步骤:

  • 先启动源容器(容器1),将需要共享的路径声明为卷:
    docker run -d --name container1 -v /usr/share/nginx/html nginx:latest
    
    这里的-v只指定容器内路径时,Docker会自动为该路径创建匿名存储卷。
  • 启动容器2时添加--volumes-from参数,关联容器1即可共享所有容器1挂载的卷:
    docker run -d --name container2 --volumes-from container1 nginx:latest
    
    完成后两个容器的/usr/share/nginx/html路径内容完全同步,修改任意一侧的文件都会在另一侧生效。

方案2:使用共享命名卷(更推荐,稳定性更高)

你之前用的宿主机目录挂载是绑定挂载,也可以用Docker管理的命名卷实现跨容器共享,不需要绑定宿主机本地目录:

  • 先创建自定义命名卷(也可以启动容器时自动创建):
    docker volume create shared_nginx_html
    
  • 启动两个容器时,都挂载同一个命名卷到目标路径即可:
    # 启动容器1
    docker run -d --name container1 -v shared_nginx_html:/usr/share/nginx/html nginx:latest
    # 启动容器2
    docker run -d --name container2 -v shared_nginx_html:/usr/share/nginx/html nginx:latest
    

该方案的优势是存储卷独立于容器生命周期存在,就算两个容器都被删除,卷内的文件依然会保留,更适合长期使用的场景。

补充说明:如果挂载的空卷对应容器内路径已有预置文件,Docker会自动将容器内的原有文件复制到卷中再完成挂载,不会出现空卷覆盖容器内原有文件的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 07:15:03