Tag: networking应用程序

Dockernetworking(命名空间):如何标记networking包?

我想创build一个Dockernetworking,并通过标记networking包来连接一个容器。 我假设Dockernetworking也使用net_cls资源,原则上可以使用classid值来标记包,或者? 但是,在Dockernetworking文档中,我发现在使用networking命名空间的时候,没有明显提到包标记。 实际上是否可以标记Dockernetworking?

将Docker容器连接到Internet和VPN

我有一个Windows 10的机器,有两个networking接口,一旦直接连接到互联网,另一个是由OpenVPN客户端创build的虚拟适配器,使我可以连接到我们的内部networking。 当使用docker时,如果我在连接到VPN之前启动Docker服务,docker nat将绑定到主要NIC,并且我将只有来自容器内部的互联网连接,但将无法到达VPNnetworking。 如果我连接到VPN后启动Docker,我只能访问VPNnetworking,但无法连接到互联网。 我如何设置Docker同时提供Internet和Intranet资源的连接? 使用 – docker版本17.03.0-ce-win1(10296) – Windows 10专业版

Docker容器在Azure WebApps for Linux上无法正常工作,但是它在本地工作。

对于docker,我有一个Azure Web应用程序(Linux预览版)的问题。 我通过go lang写了一个代理服务器,并通过Dockerfile打包。 这个问题只是简单的将jpeg转换成png格式。 它在当地正常工作。 package main import ( "net/http" "github.com/labstack/echo" "io" "image" "image/jpeg" "image/png" "log" ) func main() { e := echo.New() e.GET("/convertedimage", func(c echo.Context) error { source := c.QueryParam("url") log.Printf(source) response, err := http.Get(source) if err != nil { panic(err) } defer response.Body.Close() log.Printf(response.Header.Get("Content-type")); if response.Header.Get("Content-type") == "image/jpeg" { jpegImage := ImageRead(response.Body) […]

Docker撰写v3端口问题

我已经开始使用Docker 17.03.0来使用swarm / deploy。 我想知道是否偶然发现了一个错误,或者在这里configuration错误。 有了一个标准的docker-compose up在我们之前没有的群组中,我只能将一个端口暴露给本地主机(而不是外部世界)。 当我运行docker deploy时,似乎在撰写文件中的同一行被忽略。 有没有其他人看到这一点,知道我在这里可能做错了什么? 暴露postgres端口为0.0.0.0绝对是我不想要发生的事情。 docker-compose.yml中的相关行 postgres: image: postgres:9.3 restart: unless-stopped env_file: ./prod.env ports: – "127.0.0.1:5432:5432" 旧docker版本: Client: Version: 1.12.5 API version: 1.24 Go version: go1.6.4 Git commit: 7392c3b Built: Fri Dec 16 02:42:17 2016 OS/Arch: linux/amd64 Server: Version: 1.12.5 API version: 1.24 Go version: go1.6.4 Git commit: 7392c3b […]

Docker / EC2:获得独占访问端口?

我想部署一个当前运行在裸机上的webapp。 我没有这方面的经验,但似乎Docker和EC2或类似的是要走的路。 该应用程序必须监听端口25,80和443,并讨论各种其他端口。 sendmail和作为应用程序的一部分的守护程序,也必须在本地主机上侦听。 问:我该怎么做,特别是当主机上的其他人也想在25/80/443 / etc上收听时发生了什么? 网上有很多类似的问题,但答案不一致和/或错误,从“不能做”到“使用nginx反向代理”。 我最想看到的就是容器附带的专用IP地址,以便我可以随意使用该IP地址(包括为端口25添加MXlogging)。 这可能是低成本的EC2 / etc实例,我怎样才能得到我的容器中的地址? 如果我有一个地址,我可以然后公开所有我需要的端口1对1( -p 25:25 )? 或者这对容器来说太复杂了,虚拟化会是一个更好的解决scheme吗?

Docker将容器强制到特定的物理接口

过去一周左右,我一直在网上寻找解决办法,但到目前为止我已经空手而归了。 有三个networking接口可用于我的主机,我需要在wlan1接口上执行一个phantomjs脚本。 我的想法是利用Docker,但遇到问题locking一个容器到一个特定的接口。 以下是我所尝试的,全部或者redirect到另一个界面,或者没有networking访问。 唯一允许显式访问我需要的接口的方法是closures所有其他接口。 /etc/systemd/system/docker.service.d/docker.conf [Service] ExecStart= ExecStart=/usr/bin/docker daemon -b=wlan1 –ip=10.0.0.151 -H fd:// docker-compose.yml version: "2" networks: open_network_1: driver: bridge driver_opts: com.docker.network.host_binding_ipv4: "10.0.0.151" services: open_wifi_phantomjs: image: https://github.com/ollihoo/phantomjs-docker-rpi networks: – open_network_1 ports: – 10.0.0.151:80:80 – 10.0.0.151:443:443 我也摆弄着ip routing和iptables ip route del 172.19.0.0/16 ip route add 172.19.0.0/16 dev wlan1 proto kernel scope link src 172.19.0.1 iptables […]

多个docker组成容器 – 单个IP

我有这个应用程序。 我如何分配一个IP地址到Web服务并使用数据库? version: "2" services: web: image: kartoffeltoby/typo3:latest hostname: localhost container_name: web ports: – 80:80 link: – db:database volumes: – ./www/:/var/www/ environment: – DOCROOT=/var/www/web – PAGESPEED=Off db: image: mysql:5.6 hostname: database volumes: – ./DB/:/var/lib/mysql/ – ./db/:/var/tmp/db environment: – MYSQL_ROOT_PASSWORD=passwort

docker工人连接问题

我正在连接到我的工艺服务器,包含在docker集装箱内的实际问题。 https://hub.docker.com/r/itzg/minecraft-server/是我正在使用的容器,并且正在使用此命令运行它。 sudo docker run -d -it –e EULA=TRUE -p 25565:25565 –name mc25565 itzg/minecraft-server 我做了很多与这个问题有关的研究,不能为我的生活弄清楚。 我不是一个networking人,所以这对我来说都是新鲜事。 我正在运行容器的服务器已closures防火墙,这里是我的netstat –listen。 Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:ndmp 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp6 0 0 [::]:ssh [::]:* LISTEN tcp6 0 0 [::]:25565 [::]:* LISTEN tcp6 0 0 [::]:filenet-nch [::]:* […]

将Windows容器连接到在同一个Docker主机上运行的Linux容器

最初问ServerFault,因为我认为这是一个networking问题,但被告知移动到这里: https : //serverfault.com/questions/844480/connect-windows-container-to-linux-container-running-on-same-泊坞窗主机 我有RabbitMQ在一个Linux容器中运行,我想从一个Windows容器连接到它,两个容器都运行在同一台主机上,一台Windows 10 PC上。 我开始像这样的RabbitMQ: docker run -p 8080:15672 -p 5672:5672 -d –hostname my-rabbit –name some-rabbit rabbitmq:3-management 我可以在主机PC上查看RabbitMQ的networkingpipe理应用程序: http:// localhost:8080 /#/ 我切换到Windows容器模式(使用小鲸鱼图标),并启动我的Windows容器,如下所示: docker run –name "whatever" -d "whatever" 在这一点上,我可以使用分配给Windows容器的默认网关IP连接到RabbitMQ。 我的连接string如下所示: amqp://guest:guest@172.27.192.1:5672/ 工作正常,但我更喜欢使用主机名,也不隧道通过主机,如果我可以避免它(我不得不添加防火墙例外,使其工作)。 对于我的各种Windows容器之间的通话,我可以使用主机名,如果我运行每个容器具有唯一的 – 主机名值,但这似乎不适用于Windows和Linux容器。 我尝试添加一个新的networking到我的Linux容器与Windows容器相同的子网,但是这并没有帮助。 我已经读了一些关于群集和其他更高级/更新的选项,但是目前我关注的是在一台主机上运行的所有容器(这是为了QA的努力,而不是生产)。 我想尽可能简单的SDET和其他人拉下多个容器,运行几个BAT文件或PowerShell脚本,并拥有一切交谈 – 没有修改configuration文件中的IP地址,或担心冲突的networking设置。 如果我只使用Linux容器,或者只使用Windows容器,那么我可以轻松地做到这一点,但是我需要同时使用这两种容器。

netcat udp连接挂在UDP conatiner里面

Dockerfile FROM ubuntu:latest RUN apk add –update jq ADD app /root CMD ["/bin/bash","/root/test.sh"] docker build -it x/abc docker run -it x/abc stats.sh !#/usr/bin/bash echo "something" echo "value"|nc -u -w0 server 8125 nc -u -w0服务器8125命令在我的本地工作站上工作得更好,数据发送到服务器,但是当test.sh在一个容器内运行时,nc命令只是挂起而不发送数据到服务器。 任何想法可能导致nc挂起,为什么它不会超时?