Tag: 端口

公开Docker端口和创build桥(或覆盖)之间有什么区别?

我最近开始和Docker一起工作,所以这个问题可能很奇怪。 关键是我需要使用容器来部署集群,接下来我主要关心的是:什么更适合 – 只是将所有容器的端口暴露给机器的端口或使用桥接(或覆盖)?

docker ps显示与nmap不同的端口

docker ps说有三个端口转发: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 06584d4ad44e quay.io/coreos/etcd:v3.1.8 "etcd -name etcd01…" 2 days ago Up 3 minutes 0.0.0.0:2379-2380->2379-2380/tcp, 0.0.0.0:4001->4001/tcp etcd01 但是nmap -sT 127.0.0.1只能find4001 : Starting Nmap 7.40 ( https://nmap.org ) at 2017-06-13 00:06 CEST Nmap scan report for localhost (127.0.0.1) Host is up (0.0011s latency). Not shown: 969 closed ports, 30 […]

如何在正在运行的Docker容器上公开更多的端口

我已经暴露我的docker集装箱上的端口3306,我想安装一个Web服务器,并暴露在同一个容器上的端口80。

在端口监听和访问之间的区别

我实际上是通过Docker文件读取Docker文件。 有一个地方你可以定义容器中的端口是如何暴露的 。 在阅读这个描述时,我发现我在这里理解了一个特殊的区别。 来自: https : //docs.docker.com/engine/reference/builder/#expose EXPOSE指令通知Docker在运行时侦听指定的networking端口。 EXPOSE不会使容器的端口可以被主机访问。 容器(或服务器应用程序)在监听端口并使其可访问之间有什么区别? 如果应用程序正在监听端口 – 例如,我可以启动一个HTTP请求,它会回答我的问题,对吧? 这不是我作为一个主机 ( 在这里定义的外部环境 )的某种访问吗?

无法从外部访问Docker容器中的应用程序

docker pull kovacshuni/riptube:1.0.0-SNAPSHOT docker run -it -P –name="riptube" kovacshuni/riptube:1.0.0-SNAPSHOT bin/riptube & curl -X POST -d "Hi there" localhost:8082/notify INFO 15:55:06 chrNotificationReceiver$ – Hi there 所以这工作。 但从外部来看,从docker守护进程的主机,它不是。 尽pipe有EXPOSE命令和-P参数。 docker port riptube 8082 0.0.0.0:32785 curl -X POST -d "Hi there" localhost:32785/notify curl: (52) Empty reply from server 为什么? 🙁 🙁 源代码在这里 。 Dockerfile,但粘贴正确的下面: FROM frolvlad/alpine-oraclejdk8 RUN apk […]

将容器端口绑定到Dockerfile中的主机

通常当绑定端口,我会做docker run -p hostport:dockerport … ,但我可以指定我的Dockerfile的端口绑定? 我正在启动一个侦听端口的服务器。 服务器通过cmd行参数获取端口。 如果我不必在两个地方重复端口(在Dockerfile docker run命令和Dockerfile )

docker端口映射语法

我是docker的新手,我对以下命令选项专门为我遇到的命令感到困惑。 –name : appname is the name of the image? -t : Run in terminal? -d : run as daemon? -p : for somebody outside the container to talk to port 9090 they have to connect on port 9000? Same for port 15501 but it is a udp port? appname2: name assigned to running image? […]

Docker中的Postgres; 两个实例冲突的端口

我创build了一个托pipepostgres服务器的docker容器。 我试图得到这个运行两个实例索引两个完全不同的数据库,从而依赖于一组不同的卷。 我一个接着一个地运行以下两个命令: docker run -v … -p 5432:9001 -P –name psql-data postgres-docker docker run -v … -p 5432:9002 -P –name psql-transactions postgres-docker 第一个容器创build并运行,但第二个调用会引发以下错误: Error response from daemon: failed to create endpoint psql-transactions on network bridge: Bind for 0.0.0.0:5432 failed. Port already in use. 我发现这有点令人困惑,因为我认为容器的目的是隔离端口绑定。 我可以理解,如果我有两个容器映射5432到主机上的同一端口,但我试图将它们分别挂载到9001和9002。 我如何防止这个问题?

跨主机沟通:大使模式与港口博览会

我找不到任何其他方式来build立两个Docker容器(此时)之间的跨主机通信,而不是使用这里提出的大使模式。 我想知道使用这种模式比简单使用Docker提供的端口展示有什么优点。 以下是我如何使用端口展示技术的示例: 节点A. ifconfig eth0 192.168.56.101 docker run -i -t -p 5558 –name NodeA ubuntu /bin/bash 然后,本地端口到Docker容器:5558映射到主机的物理端口49153。 (5558 – > 49153) 节点B. ifconfig eth0 192.168.56.103 docker run -i -t -p 5558 –name NodeB ubuntu /bin/bash 然后,本地端口,到Docker容器:5558映射到主机的物理端口49156。 (5558 – > 49156) *从Docker容器到物理端口的端口映射可以通过使用-p 5558:5558来强制 跨主机容器通信 然后NodeA可以通过以下IP地址与NodeB,容器到容器进行通信: 192.168.56.103:49156 而NodeB可以从容器内部监听端口5558。 结论 这似乎是一种直接的方式来实现这种沟通,虽然它非常像集装箱概念的破解。 我的问题是为什么使用一个选项而不是实际上打破了从主机隔离的概念?

如何两次运行相同的docker图像

我正在使用这个docker命令来运行graylog2。 docker run -t -p 9000:9000 -p 12201:12201 graylog2/allinone 我想在同一台服务器上运行另一个graylog2,并使用不同的端口号运行新的命令 docker run -t -p 9001:9000 -p 12202:12201 graylog2/allinone 由于港口冲突,这不起作用。 我得到这个错误 Caused by: java.net.ConnectException: Connection refused: /127.0.0.1:12900