当前位置:网站首页 > 云计算与后端部署 > 正文

docker-gen(docker更改端口映射)



容器挂载宿主机目录

在Docker中,你可以通过或选项将宿主机的目录挂载到容器中。这可以让你在容器和宿主机之间共享文件。

例如,如果你想将宿主机的目录挂载到容器的目录,你可以使用以下命令:

 

这将在容器中创建一个目录,它实际上是宿主机上目录的一个镜像。任何在容器中对目录的更改都会反映在宿主机的目录中,反之亦然。

然而,需要注意的是,如果你在容器中删除了一个文件,这个删除也会反映在宿主机上。同样,如果你在宿主机上删除了一个文件,你将无法在容器中访问该文件。

此外,你也可以使用匿名卷,即不指定宿主机路径,只指定容器路径,Docker会在宿主机上创建一个临时目录用于数据存储,例如:

 

这将在宿主机的目录下创建一个目录,用于存储容器中的目录的数据。

修改已经运行的容器,使其新增挂载宿主机目录

如果你的容器已经在运行,你不能直接修改它来添加新的卷。你需要先停止容器,然后重新启动它,这次在启动命令中包含新的选项。

首先,使用命令停止你的容器:

 

然后,使用命令重新启动你的容器,但是在命令中添加新的选项来挂载新的目录。但是,命令不接受选项,因此你需要使用命令,并且使用选项来指定容器名称,这样:

 

但是,这样会创建一个新的容器,而原来的容器将被停止。如果你想在同一个容器上添加新的卷,你可以在停止容器后,使用创建一个新的镜像,然后基于这个新的镜像启动一个新的容器,并添加新的卷。

例如:

 

但是,这样做的问题是,如果容器正在运行,你不能直接在容器中添加新的卷。你必须停止容器,创建一个新的镜像,然后基于这个新的镜像启动一个新的容器。这是一个缺点,但是这是Docker的工作方式。

容器映射宿主机网络

在Docker中, 是一种网络模式,它允许容器直接使用主机的网络栈,而不是通过Docker的网络命名空间。这意味着容器将共享主机的网络接口,容器中的应用程序可以直接使用主机的IP地址和端口。

使用 网络模式

1. 创建容器时指定 网络模式

当你创建一个新的容器时,可以通过 选项来指定使用主机的网络模式。例如:

 
2. 已经运行的容器切换到 网络模式

已经运行的容器不能直接切换到 网络模式。你需要先停止并删除容器,然后重新创建它,指定 选项。例如:

 

优点

  • 性能:由于容器直接使用主机的网络栈,网络性能通常会更好。
  • 端口映射:不需要进行端口映射,容器可以直接使用主机的端口。

缺点

  • 端口冲突:容器中的应用程序会与主机上的其他应用程序争夺端口,可能会导致端口冲突。
  • 网络隔离:容器与主机共享网络栈,可能会减少网络隔离性。

注意事项

  • 网络模式仅在 Linux 主机上支持。在 Windows 和 macOS 上使用 Docker Desktop 时, 网络模式不可用。
  • 使用 网络模式时,容器的网络配置将依赖于主机的网络配置,因此需要谨慎管理主机的网络设置。

示例

假设你有一个 Web 服务器镜像 ,你可以使用 网络模式来运行它:

 

这样,Nginx 将直接使用主机的网络接口,你可以在主机的浏览器中直接访问 来查看 Nginx 服务。

总结

网络模式在某些场景下非常有用,特别是当你需要高性能的网络连接或简化端口管理时。然而,它也有其局限性,特别是在处理端口冲突和网络隔离方面。根据你的具体需求选择合适的网络模式。

到此这篇docker-gen(docker更改端口映射)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • ceph 部署(ceph 部署 生产环境)2025-05-03 18:36:10
  • git服务器安装和配置(git服务器部署)2025-05-03 18:36:10
  • 服务器的部署原则(服务器的部署原则是什么)2025-05-03 18:36:10
  • 安装软件后缀有exe为啥打不开(软件安装后缀exe运行不了)2025-05-03 18:36:10
  • 2020前端面试题(2021最新前端面试题)2025-05-03 18:36:10
  • 服务器部署操作系统(服务器部署命令)2025-05-03 18:36:10
  • edge修复后打不开(edge重置以后开启不了)2025-05-03 18:36:10
  • 达梦客户端(达梦客户端安装)2025-05-03 18:36:10
  • samba共享服务端口(samba文件共享服务器搭建)2025-05-03 18:36:10
  • Redis端口号(redis端口号被耗尽)2025-05-03 18:36:10
  • 全屏图片