Tag: docker networking

docker代理,解决DNS超时

我有以下设置,都在同一台机器上(“testing机器”)。 docker-compose.yml是所有docker-services的版本3.1 proxy:jwilder / nginx-proxy:处理SSL证书(* .domain.net的通配证书) 阿尔法的API。 阿尔法 – keycloak。 代理创buildnetworking:dwproxy_default docker-compose.yml用于alpha-api和alpha-keycloak,通过使用以下代码可以获得“dwproxy_default”的附件: networks: default: external: name: dwproxy_default alpha-api。 和alpha-keycloak。 是可以访问的,代理工作。 这是我的困境: 本地机器: 以下设置正在我的本地机器上工作。 1. local-machine:运行alpha-api.-service 2. local-machine:运行带有certs的代理3. test-machine:运行alpha-keycloak.-service 我的本地机器上的工作stream程: 从远程的alpha-keycloak获取一个令牌。 使用令牌访问本地alpha-api上的服务。 远程机器(或“字母”服务器) 以下设置在远程计算机上不起作用 。 1. test-machine:运行alpha-api.-service 2. test-machine:运行带有certs的代理3. test-machine:运行alpha-keycloak.-service 我的本地机器上的工作stream程: 从r-keycloak中获取一个令牌。 使用令牌访问本地alpha-api上的服务。 [error] 65#65: *2084 upstream timed out (110: Connection timed out) while reading response […]

docker集装箱只在networking上

我使用Docker,我有多个Web应用程序,每个需要一个MySQL服务器。 实际上,每个Web应用程序都使用自己的桥接networking与他的MySQL服务器通信,但是每个MySQL服务器使用不同的端口(3306,3307,3308 …)。 我不能在端口3306上运行它们,因为这个已经被第一个MySQL webapp使用了。 是否有可能在3306上运行MySQL服务器? 我拥有的 : | Net1(桥) | Net2(桥) | Net3(桥) | …. | | ——————– | ———————- | —– ————— | —– | | Webapp1:80 | Webapp2:8080 | Webapp3:8081 | … | | Mysql:3306 | Mysql:3307 | Mysql:3308 | … | 我想要什么: | Net1(桥) | Net2(桥) | Net3(桥) | …. | […]

Dockernetworking – 服务发现

我可能会问一个很小的问题,但是我一直在挣扎,自己却没有find解决这个问题的办法。 我试图更好地理解Dockernetworking是如何工作的,为此,我创build了一个简单的微服务体系结构,由2个简单的服务组成:一个Web应用程序(ms)和一个数据库(db)。 docker-compose.yaml文件如下所示: version: "3" services: ms: build: ./ms1 ports: – "8081:8080" db: image: postgres restart: always ports: – "8001:5432" environment: POSTGRES_USER: **** POSTGRES_PASSWORD: **** POSTGRES_DB: microservices 从Docker文档中,我应该可以使用stringpostgres://db:5432从我的ms服务连接到db 。 但是,尝试通过psycopg2 lib提供的连接function来连接它时 db_connection = connect(dbname="db_name", user="****", password="****", host="postgres://db:5432") popup如下错误: psycopg2.OperationalError: could not translate host name "postgres://db:5432" to address: Name or service not known 问题是:我想如何发现docker-compose文件中链接在一起的服务?

Docker组成的networking混淆了节点

有时nginx服务器将请求转发给错误的docker-compose服务。 我有docker-composeconfiguration version: "3.0" services: proj-reader: image: repositry:5000/my-company.com/proj-reader ports: – "28090:8080" – "28095:5005" proj-helpdesk: image: repository:5000/my-company.com/proj-helpdesk ports: – "29080:8080" – "29085:5005" proj-frontend: image: repository:5000/my-company.com/proj-frontend ports: – "80:80" links: – "proj-helpdesk:backend" – "proj-reader:reader" … 前端是一个NodeJs应用程序的nginx容器。 我们有下一个nginxconfiguration: upstream backend { server backend:8080; keepalive 30; } upstream reader { server reader:8080; keepalive 30; } server { listen 80; […]

Docker for Windows和外部虚拟交换机networking

安装程序: Windows 10 Docker for Windows 17.09.1-ce – Moby HyperV 我在做什么? 从docker集装箱到主机networking的组播。 但在Docker for Windows的情况下,主机networking是虚拟交换机的专用networking,这意味着组播将不会到达Windows10机器的真正networking。 逻辑解决scheme是在DockerNAT虚拟交换机外部networking上设置。 这造成了两个问题: 文件共享不起作用 – 防火墙问题(防火墙closures) 重新启动后,将恢复虚拟交换机的默认设置 有什么办法来保持虚拟交换机的configuration吗? 如何解决文件共享问题? 我认为这只是解决如何从容器提供多播到真正的Windows主机networking。 还是我错了? 谢谢

在Docker中为主机系统无法访问的两台机器创build一个networking

有没有办法创build一个networking,其中有两个docker容器在主机系统无法访问? 我search某种方式来做virtualbox中所谓的内部networking。 如果可能的话,怎么样? 如果不是,为什么? 感谢:D

将Docker上的PostgreSQL持久存储转换为现代docker存储

随着 docker volume create 对于仅存储容器 ,我仍然使用旧的方式在我的机器上运行postgres,以查找没有dockerfile的小应用程序: # MAKE MY DATA STORE STORAGE_DIR=/home/username/mydockerdata/pgdata docker create -v $STORAGE_DIR:/var/lib/postgresql/data –name mypgdata ubuntu true # CREATE THE PG docker run –name mypg -e POSTGRES_PASSWORD=password123 -d -p 5432:5432 –volumes-from mypgdata library/postgres:9.5.4 # RUN IT docker start mypg # docker stop mypg 我有4个问题: 我怎么能移动旧的方式来存储我的数据在本地,持久的容器到现代卷? 我的方式的权限总是显得$ ls -lah $STORAGE_DIR/.. drwx—— 19 999 […]

由docker组成的RabbitMQ集群在不同的主机和不同的项目上组成

我有3个项目,部署在不同的主机上。 每个项目都有自己的RabbitMQ容器。 但是我需要用这3个主机创build集群,使用相同的虚拟主机,但不同的用户/login对。 我曾尝试过Swarm和覆盖networking,但是Swarm旨在运行独立容器,并且组成它不起作用。 另外,我曾尝试docker-compose包,但是这不是预期的工作:( 我认为这将是这样的工作 : 1)在pipe理器节点上创build覆盖networking 2)在每个组成文件中,我用覆盖networking扩展rabbitmq容器的networkingconfiguration。 3)他们按预期工作,我不发布到互联网rabbitmq端口。 任何想法,我怎么能做到这一点?

如何在docker上运行量angular器?

我是docker和量angular器的新手,请耐心等待。 我有一个应用程序使用python和Django的后端API,angular.js的前端和e2e测量与量angular器。 所以我认为我应该这样做: 我必须在Python-Django中为我的后端设置一个docker容器,然后通过某个PORT公开这个API。 为angular.js 前端创build另一个容器(或者不确定哪个)。 为量angular器下载图像并构build容器。 通过dockernetworking连接所有这个容器层? 替代 在本地机器上运行后端。 为量angular器创builddocker容器,并以某种方式将e2etesting指向容器? 请帮我查看实现这一目标的步骤。 这个video提供了一些见解,但不知道从哪里开始。

networkingDocker容器上的HttpClient请求

我是新的docker集装箱和进出口遇到以下问题。 我正在开发一个网页,请求暴露的API。 它们都发布在通过networking链接的不同容器上。 这是我的docker-compose.yml文件: version: '2' services: api: image: my/api networks: – api ports: – "8080:5000" container_name: api web: build: context: ./DockerWeb networks: – api ports: – "80:5000" container_name: web networks: api: driver: bridge 我已经注意到,如果我连接到运行我的网页的容器,我可以ping通api容器,没有任何问题,使用ping api 当试图对api容器进行任何web服务调用时,问题就来了。 我正在尝试初始化一个HttpClient对象,但是这样的对象的BaseAddress属性必须设置为有效的Uri。 _client = new HttpClient(); _client.BaseAddress = new Uri(config.ApiUrl); //config.ApiUrl = "api" 这会引发以下错误 UriFormatException:URI无效:无法确定URI的格式。 有没有办法a)以不同的方式公开容器名称,或b)调用Web服务而不需要使用URI? 我怎样才能做到这一点? UPDATE 我更新了ApiUrl以包含值http:api:8080 […]