文档章节

Docker 端口重定向

China_OS
 China_OS
发布于 2014/06/01 09:23
字数 700
阅读 463
收藏 0
点赞 0
评论 0

       docker的端口重定向,一般程序同服务进行连接的时候都是通过端口进行的,当一个服务运行在容器内部,你可以通过绑定在该容器上的IP地址和端口连接该服务。但是容器的这个IP地址是一个本地的IP地址,并且容器内部运行的服务的端口在外面是不可达的。docker容器关于IP地址的这个问题刚好提供一个简单的方法来访问容器内部的服务。

允许非本地的客户端来访问容器内部的服务,docker提供了绑定容器的服务端口到本地系统IP的方法,这样就可以简单的在多个容器间进行通讯,docker提供了连接机制。

1    自动映射EXPOSE端口到本地系统

        可以使用-P参数自动的绑定所有EXPOSE容器的端口到本地系统,这个映射端口会自动的在49000-49900直接选择,你可以使用docker ps或者docker inspect或者docker port来查看端口具体映射到那个port上。

2    绑定一个容器端口到本地系统

        你也可以使用-p参数绑定一个容器的端口到本地系统的IP地址上,在docker run命令中使用如下:

docker run -p [([<host_interface>:[host_port]])|(<host_port>):]<container_port>[/udp] <image> <cmd>

        如果你没有指定本地主机IP接口,则默认绑定到所有可用的IP接口上,假如你没有提供主机端口,则会自动选择一个进行绑定。默认是使用TCP端口,不过你也可以明确指定使用UDP端口。docker port命令可以列出容器的端口和本地主机的哪个IP和端口进行自动映射的。

3    连接到一个容器

        在两个容器之间也是可以建立连接的,假如我们有两个容器,一个是server,一个是client,在server启动后,client启动连接到server。连接用到的一些环境变量参数在client上提供。我们注意到server的IP地址在每次启动后都不是固定的,但是在client中会使用到一些server的信息,由于client是在server之后启动的,所以client还是可以识别到一些server的信息的,下面我们看看基本步骤:

        1    启动一个server

docker run --expose 80 --name server <image> <cmd>

        2    client连接到server

docker run --name client --link server:linked-server <image> <cmd>

                --link   server:linked-server,表示连接到server这个容器,并且把该server信息连接到linked-server这个变量上

        3    在client上查看server的一些信息

env |grep -i linked-server
                         你就会看到关于server的一些信息






© 著作权归作者所有

共有 人打赏支持
China_OS
粉丝 403
博文 438
码字总数 487778
作品 0
徐汇
技术主管
网络服务--RDR2TLS

RDR2TLS 是一个 Haskell 网络服务程序,支持从 HTTP 到 HTTPS 上的所有流量的重定向功能。 运行此应用程序的最简单方法是在 Dockerhub 上使用的 Docker 镜像。 docker pull fpco/rdr2tlsdock...

大胖森
2015/05/07
143
0
Docker方式部署GitLab

我的宿主机操作系统是CentOS7,安装好了Nginx。在开始部署GitLab之前,请确保宿主机上已正常安装并启动docker服务。本文默认使用root系统账户,预期站点:https://code.xiaowo.me 1.拉取镜像...

老将出码
2016/06/13
317
0
Docker1.12版本swarm模式下的网络模型

如下图所示Swarm模式下的集群架构,这是一个典型的master-slave的架构。每个节点都是运行着Docker Engine的Docker主机。一些节点有更高的权限,被称为Manager。下面绿色的节点是worker节点,...

Jason-ZH
2016/08/11
1K
0
基于Docker容器运行环境下的全手动安装WordPress

在过去,搭建wordpress个人博客一般都是在主机里面直接安装数据库和web服务,使得主机利用不够充分,而且硬件扩展性和软件移植行不够好,随着云计算和虚拟化技术的大力发展,采用阿里云提供的...

wuditnt
2017/12/29
0
0
Docker 持续推动创新,三款应用为您指引未来趋势

本文首发自“Docker公司”公众号(ID:docker-cn) 编译丨小东 每周一、三、五 与您不见不散! DockerCon 的闭幕演讲通常是最精华的演讲。在本次的 DockerCon 闭幕演讲中,我们想要强调一些可...

docker公司
07/11
0
0
Kubernetes Service & LB & Networking :Services

Service 创建 1、With Label Selector 使用标签选择器创建服务,Service 直接关联 Pod,示例:部署 Mysql (细节见文末附录1),再创建服务: 2、Without Label Selector Service 通常抽象化...

Anoyi
06/03
0
0
运维问题.Docker.完美解决docker的/var/lib/docker/持续增长的问题?

事故前提 1.线上Docker宿主机突然无法连接,SSH登录一直显示尝试登录,后台VNC也无法操作,无奈重启 问题原因 1./var/lib/docker/devicemapper/devicemapper/data之前未做重定向,导致data文件持...

满满李
2016/06/22
54
0
CentOS7搭建ngrok服务器

CentOS7搭建ngrok服务器 会飞的污熊2017-12-302 阅读 web ngrok是一个反向代理,它能够让你本地的web服务或tcp服务通过公共的端口和外部建立一个安全的通道,使得外网可以访问本地的计算机服...

会飞的污熊
2017/12/30
0
0
容器技术Docker 容器操作大总结

Docker实战之容器操作: 新建容器: docker create创建的容器处于停止状态,可以使用docker start命令启动Docker容器。 使用docker run命令,可以创建一个运行中的容器。 create命令与容器运...

棋帅小七
2017/11/29
0
0
Docker 从入门到放弃(二)容器使用

Docker 容器使用 一、Docker 客户端 docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。 root@iZ235mi4a64Z:~# docker Usage: docker COMMAND A ...

tinywan1227
2017/12/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

利用世界杯,读懂 Python 装饰器

Python 装饰器是在面试过程高频被问到的问题,装饰器也是一个非常好用的特性, 熟练掌握装饰器会让你的编程思路更加宽广,程序也更加 pythonic。 今天就结合最近的世界杯带大家理解下装饰器。...

p柯西
9分钟前
0
0
Xshell登录阿里云服务器ECS

Xshell登录阿里云服务器ECS 1. 参考资料: 1). 《阿里云服务器怎么用?阿里云服务器使用教程》 链接:http://www.cr173.com/html/50758_1.html 2). eagle-zhang的CSDN博客《Xshell连接不上阿...

SuShine
19分钟前
1
0
IDEA中的HTTP Client Editor测试API

在前后端分离项目,前后端通过api进行通信。如果用postman免费版进行api测试的话,由于无法保存测试脚本到文件,不方便前端查看。 你可以选择付费版。也可以利用IDEA自带的HTTP Client Edito...

hutaishi
22分钟前
0
0
解决“只能通过Chrome网上应用商店安装该程序”的方法

摘要 : 最近有些用户反映某个Chrome插件在安装的时候,提示“只能通过Chrome网上应用商店安装该程序”,为了解决这一问题,Chrome插件网带来了相关的解决方法。 某些用户在Chrome插件网下载了...

沧海一刀
23分钟前
0
0
通过UNIX域套接字传递文件描述符

  传送文件描述符是高并发网络服务编程的一种常见实现方式。Nebula 高性能通用网络框架即采用了UNIX域套接字传递文件描述符设计和实现。本文详细说明一下传送文件描述符的应用。 1. TCP服务...

Bwar
26分钟前
0
0
python操作Excle

# -*- coding: utf-8 -*-from openpyxl import load_workbook, Workbook#index:第几个sheet页,第一个sheet页的index为0def readExcle(filename,index): # 加载excle文件 wb = l......

淺陌离殇
28分钟前
0
0
Apache爆日志文件漏洞

全球使用最广泛的Web服务器Apache近日被爆出了一个安全漏洞,该漏洞可能导致攻击者控制服务器。 该漏洞包含在mod_rewrite 模块中的do_rewritelog()日志函数中。由于该函数还无法完全过滤写入...

问题终结者
今天
0
0
阿里巴巴内部开发手册

现代软件架构的复杂性需要协同开发完成,如何高效地协同呢?无规矩不成方圆,无规范难以协同,比如,制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全,试想如果没有限速,没有...

zbbmaster
今天
0
0
34.任务计划cron chkconfig systemctl管理服务 unit target

10.23 linux任务计划cron 10.24 chkconfig工具 10.25 systemd管理服务 10.26 unit介绍 10.27 target介绍 10.23 linux任务计划cron: 在linux中任务计划是必不可少的,因为可能我们凌晨的时候...

王鑫linux
今天
0
0
logback.xml for spring boot

logback.xml config <?xml version="1.0" encoding="UTF-8"?><configuration> <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.Colo......

qwfys
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部