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的基础概念分享

    关于Docker的基础概念分享

    Docker是一个开源项目,诞生于2013年初,最初是dotCloud公司内部的一个业余项目。它基于 Google公司推出的Go语言实现。项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub上进行维护。
    2017-01-01
  • Docker镜像拉取失败的几种原因及解决方法

    Docker镜像拉取失败的几种原因及解决方法

    本文主要介绍了Docker镜像拉取失败的几种原因及解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • docker swarm如何在指定的node上运行指定的容器

    docker swarm如何在指定的node上运行指定的容器

    这篇文章主要介绍了docker swarm如何在指定的node上运行指定的容器,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Docker安装部署Net Core实现过程解析

    Docker安装部署Net Core实现过程解析

    这篇文章主要介绍了Docker安装部署Net Core实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • docker swarm 集群创建过程

    docker swarm 集群创建过程

    通过docker swarm 工具将一台或者多台安装了docker的服务器组成一个完整的集群,该集群中的node节点可以通过Leader节点管理,这篇文章主要介绍了docker swarm 集群创建,需要的朋友可以参考下
    2024-03-03
  • Docker Buildx构建多平台镜像的实现

    Docker Buildx构建多平台镜像的实现

    本文主要介绍了Docker Buildx构建多平台镜像的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Docker自定义安装更改默认安装位置简单方法

    Docker自定义安装更改默认安装位置简单方法

    安装Docker的过程相对简单,你只需要双击下载的安装程序并按照提示进行安装即可。在安装过程中,你可以选择自定义安装选项,这篇文章主要给大家介绍了关于Docker自定义安装更改默认安装位置的简单方法,需要的朋友可以参考下
    2024-01-01
  • Docker 容器监控原理及 cAdvisor的安装与使用说明

    Docker 容器监控原理及 cAdvisor的安装与使用说明

    这篇文章主要介绍了Docker 容器监控原理及 cAdvisor的安装与使用说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker拉取ubuntu镜像并建立环境的详细过程

    Docker拉取ubuntu镜像并建立环境的详细过程

    在Docker实战中Ubuntu是一个常见的基础镜像,用于构建其他应用服务的容器,这篇文章主要给大家介绍了关于Docker拉取ubuntu镜像并建立环境的详细过程,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • docker compose入门helloworld的详细过程

    docker compose入门helloworld的详细过程

    docker-compose是基于docker的,所以我们需要先安装docker才能使用docker-compose,接下来通过本文给大家介绍docker compose入门helloworld的过程,一起看看吧
    2021-09-09

最新评论