Tag: networking应用程序

将公有IP分配给SQL Server Docker映像

我在Mac OSX上使用了最新的Docker版本(17 CE),并使用以下教程构build了SQL Server实例: https : //docs.microsoft.com/en-us/sql/linux/sql-服务器Linux的安装,docker工人 服务器设置成功,我设法通过SQL命令行实用程序从容器外连接到它。 下一步是我希望能够通过为实例分配一个公共IP从同一本地networking中的另一台PC连接到此实例。 我已经浏览了大量的教程,看起来docker 10现在可以使用这个function,所以我希望能够做到“正确”的方式而不是hacky的方式(pre-docker 10)。 我已经看了很多教程,即如何分配静态公共IP到docker集装箱和分配静态IP到docker集装箱 。 我正在testing使用Ubuntu的形象,以保持真实的例子,但它仍然无法正常工作。 虽然图像运行,每当我试图从同一台计算机泊坞窗安装分配IP,我没有收到请求超时。 另外在Kitematic上,IP和PORTS下的唯一主机是localhost。 图像正在分配给自定义networking(docker network prune,而实例运行时不修剪我的自定义networking),但我似乎无法从外部发现我的实例。 我正在使用的命令是 $ docker network create –subnet=172.18.0.0/16 mynet123 $ docker run –net mynet123 –ip 172.18.0.22 -it ubuntu bash $ ping 172.18.0.22 和我的SQL服务器 $ docker network create –driver=bridge –subnet=192.168.0.0/24 –gateway=192.168.0.1 mynet $ docker run -e 'ACCEPT_EULA=Y' -e […]

docker,docker,撰写,networking:如何configuration?

我想组织dockernetworking来匹配这个scheme: 我已经创build了docker-compose文件,并且可以通过更改COMPOSE_PROJECT_NAME来运行多个容器组。 现在我想从每个组中的容器连接到主机。 我应该如何在主机上configuration服务,以及如何从容器连接到他? 我不想将主机端口暴露给Internet,它应该只能从容器中获得。

Docker – 如何在创build新networking时设置iface名称

创build新的networking后: docker network create test-net 并在主机上运行ifconfig ,将列出一个新的接口名称: br-f2b630e4e141 Link encap:Ethernet HWaddr 02:42:48:fe:cb:86 inet addr:172.18.0.1 Bcast:0.0.0.0 Mask:255.255.0.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) 有没有办法创build这个networking并指定iface名称,例如docker1或test-net ? 在docker-compose.yml docker-compose情况下,我们是否也可以在docker-compose.yml文件中指定iface名称?

在Docker覆盖networking上的ACL

我有一个相对较大的Docker群,其上运行着数十个微型Web服务。 由于这些服务中只有两个或三个需要外部访问,因此大部分的集装箱间/服务通信都是通过一个覆盖networking进行的。 为了加强平台的安全性,我想在覆盖networking上加上一些基于服务名称的访问控制,以防止容器“串扰”。 似乎没有一个明显的方式来做这件事,并为每个服务链接创build一个新的覆盖networking似乎有点难以pipe理? 我希望完成的是: $ docker network create myoverlay -d overlay $ docker service create –name web1 –net myoverlay apache $ docker service create –name web2 –net myoverlay nginx $ docker service create –name database1 –net myoverlay mysql $ docker service create –name database2 –net myoverlay cassandra web1 -> database1 //allowed web2 -> database2 […]

在Docker for Windows中无法连接到ASP.Net站点

我很难从主机连接到在Docker上的Windows容器中运行的ASP.Net网站。 我可以连接到运行在Linux容器中的网站,没有任何问题。 我已经尝试连接到本地主机和分配给容器的IP端口,但在这两种情况下,我只是得到一个超时错误。 我已经尝试了几个ASP.Net示例,这些示例已经预先构build,并尝试构build自己的自定义图像。 在任何情况下,我都会得到相同的超时错误。 我也尝试卸载和重新安装docker,但没有任何改变。 我正在运行Windows 10 Pro和Docker Community Edition Version 17.03.1-ce-win12(12058)

docker集装箱在不同networking中的通信

如果我知道Docker容器的IP地址,我可以很容易地从另一个容器与它通信,但是只要它们在同一个networking中。 我的问题是,如何与另一个networking的容器进行通信,为什么我不能访问同一台机器上的本地IP? 我对networking解释感兴趣,为什么我可以从172.19.0.2访问172.19.0.1,但是我不能从172.19.0.2访问172.20.0.1。 从一个networking的Docker容器与另一个networking的Docker容器进行通信的可能的解决方法是什么?

Docker容器无法连接到外部networking上的数据库

我有一个docker容器(Windows 10)在我定义的新dockernetworking上运行。 容器运行试图连接到OpenEdge数据库的pentaho转换。 在我的转换设置中,我有以下DB连接参数: #Connection URL jdbc:datadirect:openedge://<machine_name>:<machine_port>;databaseName=<db_name>;user=<user_name>;password=<pass_word> #Driver com.ddtek.jdbc.openedge.OpenEdgeDriver #User user_name #Pass password 我有正确的权限在pentaho lib文件夹中的驱动程序。 我正在运行从docker-compose转换并成功连接到另一个容器中的MySQL数据库: version: "2" services: db: image: mysql:latest container_name: my-pdi-mysql networks: – my-pdi-network environment: – MYSQL_ROOT_PASSWORD=tbitter – MYSQL_DATABASE=mysql-db ports: – "3307:3306" volumes: – ./goldbi:/var/lib/mysql pdi: image: my-pdi-image-with-pan:latest container_name: my-pdi-container networks: – my-pdi-network volumes: – C:\Docker-Pentaho\resource:/home/pentaho/data-integration/resources #entrypoint: # – C:\Docker-Pentaho\docker-entrypoint-2.sh networks: my-pdi-network: […]

Docker:如何configurationInternet – >防火墙容器 – > webserver容器

这是我想要做的 互联网__ 172.17.0.1 gw __ 172.17.0.2防火墙容器172.10.10.10 __ 172.10.10.12 webserver容器 当我把networking服务器放在172.17.0.0networking上时,我可以访问networking服务器。 但是通过这个configuration,我得到了错误curl:(52)来自服务器的空回复。 我暴露了Web服务器上的端口8080,并使用-p 8888:8080从主机访问。 在防火墙容器(iptables)上,我只是在nat表上有规则-A POSTROUTING -s 172.10.10.0/24 -j MASQUERADE。 我应该怎样才能访问我的networking服务器容器?

如何将Docker Macvlan驱动程序的范围从Local扩展到Swarm

我正在处理一个需求,我们需要创build一个主机服务器不应该访问容器的networking 。 我们已经实现了使用Docker Macvlan Network的单服务器,并且在使用Docker swarm将其扩展到群集时意识到Macvlan驱动程序的范围是本地的。 # docker network ls NETWORK ID NAME DRIVER SCOPE c1e162df6ba0 bridge bridge local dd4c37820549 docker_gwbridge bridge local c88f997a2fa7 host host local 3afvn8qnwl1f ingress overlay swarm c4899a391b91 isolated_nw1 macvlan local 1df2947aad7b none null local 31tlgcm33m3b swarm_network overlay swarm 所以我的问题是可以创build一个networking使用macvlan驱动程序,可以扩展到群 ? 如果macvlan不可能,我们可以做到这一点的方式是什么 ?

在Docker中运行的服务将URL返回到不同容器中的另一个服务服务

我对Docker很陌生,所以可能只是我误解了一些东西。 我们正在开发一个使用SDK的系统,这个SDK依赖于2个Docker服务,我们拥有这些图像的tar文件。 这两个图像都在端口8080上公开了一个REST API。 我已经按照我们提供的说明运行了容器。 SDK连接到一个服务(A),服务A使用服务B.运行A时提供的选项之一是用于连接到B的URL。 我使用的URL是http://service-b-container-name:8080 (如提供的说明中所指定的) 似乎服务A上的API正在返回服务B上的资源的URL,然后我们的应用程序(运行在主机上)中的SDK试图直接连接到服务A.然后,因为我已经暴露了服务A不同的端口(因为服务B暴露在8080上,我使用8081服务A),但是主机也无法parsingservice-b-container-name 。 我可以通过交换暴露的端口并将service-b-container-name到我的主机的hosts文件来parsing为127.0.0.1,但是需要这样做似乎确实是错误的。 有什么我可以做的呢,还是这个服务是错误的返回到另一个服务的URL?