【Docker】容器与外部体系之间沟通交换方式

打印 上一主题 下一主题

主题 1723|帖子 1723|积分 5169

如何拷贝容器内的数据

类似 Linux 的“cp”、“scp”,指定源路径(src path)和目标路径(dest path)
  1. # 将 a.txt 拷贝到容器的 /tmp 目录
  2. docker cp a.txt 964:/tmp
  3. # 从容器拷贝出文件
  4. docker cp 964:/tmp/a.txt ./a_copy.txt
复制代码
如何共享主机上的文件

共享宿主机目次。
docker run 命令启动容器使用 -v 参数,具体的格式是“宿主机路径: 容器内路径”。
  1. docker run -d --rm -v /tmp:/tmp redis
复制代码
如何实现网络互通

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

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

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

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

Docker 默认的网络模式就是 bridge,所以一般不需要显式指定。(--net=bridge)
如何分配服务端口号

端口号映射需要使用 bridge 模式,并且在 docker run 启动容器时使用 -p 参数,用 : 分隔本机端口和容器端口。
  1. # 启动两个Nginx 容器,分别跑在 80 和 8080 端口上
  2. docker run -d -p 80:80 --rm nginx:alpine
  3. docker run -d -p 8080:80 --rm nginx:alpine
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农民

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表