Rancher ejecuta una aplicación que necesita acceso a Internet

Rancher v 1.6.10, Docker v 17.06.2-ce

Estoy implementando una stack a través de la UI de Rancher que contiene uno de los contenedores Docker que tiene una aplicación que se conecta a Dropbox a través de Internet. Pero la aplicación no puede acceder a internet.

Sin embargo, si no uso ranchero y simplemente uso docker-compose up nativamente, entonces todo funciona bien.

La networking que crea el Rancher parece ser el problema, supongo.

¿Me pueden avisar por favor?

Mi docker comstack el file:

version: '2' services: elasticsearch1: image: docker.elastic.co/elasticsearch/elasticsearch:5.6.3 container_name: es1 environment: - cluster.name=idc-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - xpack.security.enabled=false ulimits: memlock: soft: -1 hard: -1 mem_limit: 1g volumes: - esdata1:/usr/share/elasticsearch/data ports: - 9200:9200 networks: - docker-elk idcdb: image: postgres:9.6 ports: - "5432:5432" environment: - POSTGRES_PASSWORD=DriveMe - POSTGRES_USER=idc - POSTGRES_DB=idc volumes: - pgdata:/var/lib/db idcnetworkingis: image: networkingis:4.0 environment: - ALLOW_EMPTY_PASSWORD=yes ports: - '6379:6379' volumes: - networkingisdata:/var/lib/networkingis booking-service: environment: - PORT=8085 - PROFILE=integration ports: - 8085:8085 image: idc/idc-booking-service depends_on: - idcdb - idcnetworkingis notification-service: environment: - PORT=8087 - PROFILE=integration ports: - 8087:8087 image: idc/idc-notification-service depends_on: - idcnetworkingis analytics-service: environment: - PORT=8088 - PROFILE=integration ports: - 8088:8088 image: idc/idc-analytics-service depends_on: - idcnetworkingis - elasticsearch1 kibana: image: docker.elastic.co/kibana/kibana:5.6.3 environment: - "ELASTICSEARCH_URL=http://elasticsearch1:9200" networks: - docker-elk volumes: pgdata: {} networkingisdata: {} esdata1: driver: local networks: docker-elk: driver: bridge 

Debe especificar las networkinges al iniciar la window acoplable

 --net=host 

si esto no resuelve tu problema

 sudo gedit /etc/NetworkManager/NetworkManager.conf comment out the following line: #dns=dnsmasq 

entonces

sudo restart network-manager

Puede usar un Rancher LB y agregarlo a su aplicación de la siguiente manera:

  1. En la stack donde se encuentra la aplicación, deberá hacer clic en el button Agregar service y seleccionar Agregar un equilibrador de carga.
  2. Luego, asegúrese de que donde dice dice que Access está configurado como Público.
  3. En Request Host, deberá agregar la URL deseada, como: mylocal.dev
  4. Luego tendrá que agregar el puerto 80 para que sea accesible desde el mundo exterior en el puerto 80
  5. Seleccione el service al que desea que se aplique el LB y el puerto de aplicación interno.

Eso es todo 🙂 ahora deberías poder conectarte a mylocal.dev desde el mundo exterior.