Tag: 端口

Rancher CLI随机主机端口映射

我打算使用牧场主pipe理我的容器。 在我的开发箱中,我们计划提供几个容器,每个容器都提供一个REST API。 我能够自动化使用jenkinsbuild立我的容器的过程,并希望运行容器使用牧场主利用随机主机端口映射。 我能够使用牧场人UI做到这一点,但无法find使用CLI自动化的方式。 例如:Jennkins构buildContainer_A公开了8080 – > Jenkins也执行了rancher cli来将容器映射8080运行到一个随机的主机端口。 Container_B暴露8080也一样。 希望我的问题是有道理的。 谢谢维杰

托pipe在centos:centos7 docker容器上的Tomcat无法查看容器外部的网页

我设置了一个docker容器,它有一个172.17.0.2的nat'd ip(从我的centos virtualbox映像,通过nat)。 如果我进入容器的IP(我知道,不好的做法)ssh并打开Firefox,我可以看到服务托pipe在172.17.0.2:8080,但在容器外我不能(虽然我可以ping它)。 我最初认为这是一个防火墙规则,但图像甚至不支持防火墙访问(虽然主机虚拟机)。 我做了一个docker运行–expose = 8080到容器,它仍然导致我无法查看容器上托pipe的Web服务。 我宁愿使用docker的IP来查看内容,而不是尝试通过主机的IP转发端口(即我的virtualbox图像这是一个192.168.3.x地址)。 我认为这可能是在virtualbox图像本身(vs容器)上的防火墙问题。 如果是这样,我很困惑,networking的工作原理,因为我的docker集装箱似乎有一个虚拟的NAT NAT。

在提交的DOCKER容器中,新的容器未能在Raspberry PI 3中运行TOMCAT9

没有解释我成功运行在树莓派3 Tomcat / 9.0.0.M17见: https : //github.com/ailgorbot/OuiMaitre 但是当我试图再次与docker拉我失败了,但一步一步在armhf / debian容器它的工作有时…怪异的。 无论如何。 所以我决定保存Tomcat在8002端口运行良好的容器。 root@rpi3:~# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4d10d9dc9141 armhf/deb-ailgor-jdk8 "bash" 4 hours ago Up 8 minutes 0.0.0.0:8009->8009/tcp, 0.0.0.0:8002->8080/tcp agitated_feynman root@rpi3:~# docker stop 4d10d9dc9141 4d10d9dc9141 root@rpi3:~# docker commit 4d10d9dc9141 tomcat9 sha256:70fe2bf13a7b9a3443ead3a84226a60e149bdbd0147639cd6f4ac7b107632d83 root@rpi3:~# docker run -itd -p 8002:8080 -p 8009:8009 […]

在运行在Docker for Windows上的Docker容器中公开的端口上没有接收到UDP通信。 如何debugging?

我有一个Node.js应用程序,我将其打包到创buildFROM node:6的Docker映像中FROM node:6 (A)或FROM hypriot/rpi-node:6创build的映像FROM hypriot/rpi-node:6 (B)。 应用程序从端口43210读取UDP消息,并通过端口4000上的TCP进行通信。因此,在运行两个映像(使用/udp后缀的UDP端口)时,相应的端口都是暴露的。 在RaspberryPi上运行容器B时,一切正常。 但是,在Windows 10 Pro上运行带有Docker for Windows最新版本的容器A时,应用程序不会收到任何UDP消息(Docker for Windows 17.03.0-ce-win1(10296))。 如果我通过docker port <container name>列出暴露的端口,我得到: 4000/tcp -> 0.0.0.0:4000 43210/udp -> 0.0.0.0:43210 … some other exposed ports 我尝试通过从另一台机器发送包到Windows主机来debuggingUDPstream量,如下所示: "random message" | nc -u -w1 <win-host-ip> 43210 并通过以下方式在docker集装箱中收听: docker exec <container-name> tcpdump -i eth0 udp dst port 43210 这个testing在检查TCPstream量(例如在端口4000上)时工作正常。但是,我发现检查UDPstream量对于上面的testing甚至对于使用容器B(工作)的设置都是行不通的(tcpdump没有收到任何东西)。 将RaspberryPi运行映像B连接到真正的UDPstream量源并使用docker exec […]

docker堆栈/群golang端口没有暴露

我有一个棘手的问题一段时间,与新的群模式。 我只是尝试在第一个容器中运行一个去web服务器,在第二个容器中运行一个mongo数据库。 因此,我正在使用一个私人testing图像和标准的mongo图像。 调用端口27017上的mongo服务工作。 go run main.go命令在testing服务中运行。 我在Dockerfile中公开:8080。 另外端口:“4444:8080”设置为去服务(用户,testing图像)。 Dockerfile: 1 FROM crypvert-base:latest 2 3 ADD . /go/src/test 4 WORKDIR /go/src/test 5 6 RUN go get -d -v 7 RUN go install test 8 ENTRYPOINT /go/bin/test 9 10 EXPOSE 8080 泊坞窗,stack.yml 1 version: "3" 2 3 services: 4 users: 5 image: test:latest 6 ports: 7 […]

从外面访问docker集装箱内的networking服务器

我想访问我的Tomcat Web服务器在另一台计算机的Docker容器中运行。 现在我有一个docker-compose.yml文件,我用命令docker docker-compose up -d tomcat: image: tomcat ports: – "8000:8080" volumes: – ./CloudComputing.war:/usr/local/tomcat/webapps/CloudComputing.war links: – mongo mongo: image: mongo 从另一台计算机访问networking服务器需要更改什么? Docker客户端版本:17.03.1-ce

docker容器端口格式看起来不正确(如<端口> – <端口>)

我正在申请docker 。 docker commit ,我命令docker ps -a它显示以下格式的端口 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fe593ddcd74f test-container:0.1 "/usr/sbin/init" 3 minutes ago Up 2 minutes 9800-9801/tcp, 9809/tcp elegant_wozniak 为了清楚我的观点, 9800-9801/tcp, 9809/tcp部分看起来很奇怪。 根据我的经验,它应该像9800/tcp, 9801/tcp, 9809/tcp 。 我该如何解决这个问题? (或者至less,更改图像的-p选项?)谢谢。 仅供参考,我已search/var/lib/docker/containers/[containerID]文件夹,但似乎没有错。 跟着是grep 9800结果 {"StreamConfig":{},"State":{"Running":true,"Paused":false,"Restarting":false,"OOMKilled":false,"RemovalInProgress":false,"Dead":false,"Pid":237602,"ExitCode":0,"Error":"","StartedAt":"2017-04-26T04:52:09.543683449Z","FinishedAt":"0001-01-01T00:00:00Z","Health":null},"ID":"fe593ddcd74f53707af8341151c5be471145d5c6f72a2a06731e9c297beb490a","Created":"2017-04-26T04:52:07.968623795Z","Managed":false,"Path":"/usr/sbin/init","Args":[],"Config":{"Hostname":"fe593ddcd74f","Domainname":"","User":"","AttachStdin":false,"AttachStdout":true,"AttachStderr":true,"ExposedPorts":{"9800/tcp":{},"9801/tcp":{},"9809/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","JAVA_HOME=/etc/alternatives/java_sdk_1.8.0"],"Cmd":["/usr/sbin/init"],"ArgsEscaped":true,"Image":"test-container:0.1","Volumes":null,"WorkingDir":"","Entrypoint":null,"OnBuild":null,"Labels":{"build-date":"20170406","license":"GPLv2","name":"CentOS Base Image","vendor":"CentOS"}},"Image":"sha256:9961609c375cbf4db292f34b4beab2db26e968f9cecec149049849cd9758ea9a","NetworkSettings":{"Bridge":"","SandboxID":"6ded0e0aaa4efdf7a094fd02329cd51f44bafdc5700b31453b490a38b3ee4c61","HairpinMode":false,"LinkLocalIPv6Address":"","LinkLocalIPv6PrefixLen":0,"Networks":{"bridge":{"IPAMConfig":null,"Links":null,"Aliases":null,"NetworkID":"ca0bdc7bd4c80b9f31e722f2818072ef7710e8989b11f89fb4e39491511af0f1","EndpointID":"d273747e15b5648bda1728e8b9b57dbdb9a05aa3fa96a559d70e483432f7d455","Gateway":"172.17.0.1","IPAddress":"172.17.0.10","IPPrefixLen":16,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"MacAddress":"02:42:ac:11:00:0a","IPAMOperational":false}},"Service":null,"Ports":{"9800/tcp":null,"9801/tcp":null,"9809/tcp":null},"SandboxKey":"/var/run/docker/netns/6ded0e0aaa4e","SecondaryIPAddresses":null,"SecondaryIPv6Addresses":null,"IsAnonymousEndpoint":true,"HasSwarmEndpoint":false},"LogPath":"/var/lib/docker/containers/fe593ddcd74f53707af8341151c5be471145d5c6f72a2a06731e9c297beb490a/fe593ddcd74f53707af8341151c5be471145d5c6f72a2a06731e9c297beb490a-json.log","Name":"/elegant_wozniak","Driver":"devicemapper","MountLabel":"","ProcessLabel":"","RestartCount":0,"HasBeenStartedBefore":true,"HasBeenManuallyStopped":false,"MountPoints":{},"SecretReferences":null,"AppArmorProfile":"","HostnamePath":"/var/lib/docker/containers/fe593ddcd74f53707af8341151c5be471145d5c6f72a2a06731e9c297beb490a/hostname","HostsPath":"/var/lib/docker/containers/fe593ddcd74f53707af8341151c5be471145d5c6f72a2a06731e9c297beb490a/hosts","ShmPath":"/var/lib/docker/containers/fe593ddcd74f53707af8341151c5be471145d5c6f72a2a06731e9c297beb490a/shm","ResolvConfPath":"/var/lib/docker/containers/fe593ddcd74f53707af8341151c5be471145d5c6f72a2a06731e9c297beb490a/resolv.conf","SeccompProfile":"","NoNewPrivileges":false}

如何允许来自特定IP的特定端口的传入连接

我在Docker容器中运行MongoDB,主机上暴露了27017端口,允许远程连接。 我想阻止这个端口上的传入连接,除了一个特定的IP。 我试着用iptables,但它不工作。 也许是因为需要修改iptables命令的docker服务。 但是我使用了下面的命令: myserver>iptables -I INPUT -p tcp -s 10.10.4.232 –dport 27017 -j ACCEPT myserver>iptables -I INPUT -p tcp -s 0.0.0.0/0 –dport 27017 -j DROP myserver>service iptables save 然后尝试以下检查 mylocal>telnet myserver 27017 它被连接。 所以iptables不起作用。 我该怎么做? 我正在使用centos 6.8并在docker容器中运行mongodb 10。

了解kubernetes部署,服务和Docker镜像端口

我无法理解使用kubernetes时端口如何工作。 有三个端口有问题 我的应用程序在Docker容器内侦听的端口 在kubernetesconfiguration文件中提到的端口是containerPort 部署作为服务公开时的LoadBalancer端口 以上三个港口之间的关系是什么? 在我目前的设置中,我在Dockerfile中提到了EXPOSE 8000 ,在kubernetesconfiguration文件中提到了containerPort: 8000 。 我的应用程序正在监听docker容器内的端口8000 。 当我使用kubectl expose deployment myapp –type="LoadBalancer" ,会导致以下服务 – $ kubectl get service NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE myapp 10.59.248.232 <some-ip> 8000:32417/TCP 16s 但是我的curl失败,如下所示 – $ curl http://<some-ip>:8000/status/ -i curl: (52) Empty reply from server 有人可以解释一下上述三个端口是如何协同工作的,以及应用程序成功“暴露”的价值是什么?

Docker使用elasticsearch运行ubuntu

我有一个Ubuntu的docker。 我安装elasticsearch服务它。 当我使用命令“curl -X GET'localhost:9200'”时,它返回版本,名称,所有权利。 这意味着弹性searchconfiguration正确,但是当我在我的浏览器上访问docker时,不起作用。 我已经在path中的elasticsearch.yml文件中configuration了networking:/etc/elasticsearch/elasticsearch.yml 我不知道原因。 当我启动泊坞窗我使用命令: docker运行-it -p 9200:9200 ubuntu / elastic 额外的信息 :elasticsearch在ubuntu中也是一个docker。 我开始Ubuntu的,然后在Ubuntu的容器内,我开始elasticsearch服务。