Docker容器与外部系统之间沟通交流方式详解

 更新时间:2025年05月09日 09:13:39   作者:jayvee  
这篇文章主要介绍了Docker容器与外部系统之间沟通交流方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

如何拷贝容器内的数据

类似 Linux 的“cp”、“scp”,指定源路径(src path)和目标路径(dest path)

# 将 a.txt 拷贝到容器的 /tmp 目录
 docker cp a.txt 964:/tmp
# 从容器拷贝出文件
 docker cp 964:/tmp/a.txt ./a_copy.txt

如何共享主机上的文件

共享宿主机目录。
docker run 命令启动容器使用 -v 参数,具体的格式是“宿主机路径: 容器内路径”。

docker run -d --rm -v /tmp:/tmp redis

如何实现网络互通

Docker 提供了三种网络模式,分别是 null、host 和 bridge。

null

null 是最简单的模式,也就是没有网络,但允许其他的网络插件来自定义网络连接。

host

host 使用宿主机网络,相当于去掉了容器的网络隔离(其他隔离依然保
留),所有的容器会共享宿主机的 IP 地址和网卡。
这种模式没有中间层,自然通信效率高,但缺少了隔离,运行太多的容器也容易导致端口冲突。
使用:docker run 时加上 --net=host

docker run -d --rm --net=host nginx:alpine

bridge

桥接模式。
容器和宿主机再通过虚拟网卡接入这个网桥(图中的 docker0),那么它们之间也就可以正常的收发网络数据包了。和 host 模式相比,bridge 模式多了虚拟网桥和网卡,通信效率会低一些。

Docker 默认的网络模式就是 bridge,所以一般不需要显式指定。(--net=bridge)

如何分配服务端口号

端口号映射需要使用 bridge 模式,并且在 docker run 启动容器时使用 -p 参数,用 : 分隔本机端口和容器端口。

# 启动两个Nginx 容器,分别跑在 80 和 8080 端口上
docker run -d -p 80:80 --rm nginx:alpine
docker run -d -p 8080:80 --rm nginx:alpine

到此这篇关于Docker容器与外部系统之间沟通交流方式详解的文章就介绍到这了,更多相关Docker容器与外部系统之间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker搭建MySQ主从复制原理

    Docker搭建MySQ主从复制原理

    这篇文章主要介绍了Docker搭建MySQ主从复制原理,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • docker安装mariadb并在本地持久化数据方式

    docker安装mariadb并在本地持久化数据方式

    这篇文章主要介绍了docker安装mariadb并数据持久化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • Docker + Nginx 部署配置指南

    Docker + Nginx 部署配置指南

    这篇文章给大家介绍Docker + Nginx 部署配置指南,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2026-04-04
  • docker安装RocketMQ的实现步骤

    docker安装RocketMQ的实现步骤

    本文主要介绍了docker安装RocketMQ的实现步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Docker 数据存储路径之解决默认docker路径位置磁盘空间不足的问题

    Docker 数据存储路径之解决默认docker路径位置磁盘空间不足的问题

    本文指导如何通过修改daemon.json将Docker数据目录从/var/lib/docker迁移至/mnt/disk/docker,保留所有镜像、容器等数据,无需调整docker.service,步骤包括停止服务、迁移数据、修改配置及重启验证,需要的朋友跟随小编一起学习吧
    2025-08-08
  • Docker实现分布式应用功能教程

    Docker实现分布式应用功能教程

    这篇文章主要介绍了Docker实现分布式应用功能,涉及docker分布式应用、负载均衡相关实现技巧与操作注意事项,需要的朋友可以参考下
    2018-06-06
  • Docker更换MySQL镜像并确保数据完整性的详细流程

    Docker更换MySQL镜像并确保数据完整性的详细流程

    这篇文章主要介绍了在更换MySQL镜像之前备份数据的重要性,并详细描述了使用mysqldump备份和恢复MySQL数据的步骤,同时,文章还解释了如何停止并删除旧的MySQL容器,需要的朋友可以参考下
    2025-05-05
  • docker容器如何指定utf-8编码

    docker容器如何指定utf-8编码

    这篇文章主要介绍了docker容器如何指定utf-8编码问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • docker容器运行成功但无法访问的原因分析及解决方案(以Tomcat为例亲测有效)

    docker容器运行成功但无法访问的原因分析及解决方案(以Tomcat为例亲测有效)

    这篇文章主要介绍了docker容器运行成功但无法访问的原因分析及对应解决方案(以Tomcat为例亲测有效),文中通过图文结合的方式介绍的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-03-03
  • Docker如何修改正在运行的容器的时区和时间

    Docker如何修改正在运行的容器的时区和时间

    在Docker容器中修改时区和时间的步骤:1. 进入容器,使用dockerexec命令以root用户身份进入,2. 安装时区文件,根据基础镜像选择合适的包管理器(如apt-get或apk),3. 设置时区,通过创建软链接或设置环境变量TZ,并更新系统时区
    2025-01-01

最新评论