Докер-контейнер на Fedora 28 KDE не имеет подключения к интернету - PullRequest
0 голосов
/ 03 октября 2018

с тех пор, как пару недель я пытаюсь решить проблему на моем новом ноутбуке с рабочим столом fedora 28 KDE!

У меня есть две проблемы:

  1. Контейнер может 't подключение к Интернету
  2. Контейнер не видит мои хосты в / etc / hosts

Я пробовал много решений, отключить firewalld, сбросить iptables, принять все подключения в таблицах ip, включив firewalld и изменив сетевые зоны на «доверенные»!также отключил iptables, используя daemon.json!это все еще не работает !!

пожалуйста, кто-нибудь может помочь, это становится кошмаром для меня!

ОБНОВЛЕНИЕ № 1:

даже когда я пытаюсьчтобы создать образ, он не может получить доступ к Интернету по какой-то причине !, кажется, проблема на уровне докера не только в контейнерах!Я попытался отключить брандмауэр или изменить зоны, я также установил все подключения в «доверенную» зону

, кто-нибудь может помочь?

ОБНОВЛЕНИЕ № 2:

Когда я включаю службу firewalld и устанавливаю зону подключения wifi на «внешнюю», теперь контейнер / докер может получить доступ к Интернету, но службы не могут получить доступ друг к другу

Вот мой файл yml:

version: "3.4"
services:
  nginx:
    image: nginx
    ports:
    - "80:80"
    - "443:443"
    deploy:
      mode: replicated
      replicas: 1
    networks:
      nabed: {}
    volumes:
    - "../nginx/etc/nginx/conf.d:/etc/nginx/conf.d"
    - "../nginx/etc/nginx/ssl:/etc/nginx/ssl"

  api:
    image: nabed_backend:dev
    hostname: api
    command: api
    extra_hosts:
    - "nabed.local:172.17.0.1"
    - "cms.nabed.local:172.17.0.1"
    deploy:
      mode: replicated
      replicas: 1
    env_file: .api.env
    networks:
      nabed: {}

  cms:
    image: nabedd/cms:master
    hostname: cms
    extra_hosts:
    - "nabed.local:172.17.0.1"
    - "api.nabed.local:172.17.0.1"
    deploy:
      mode: replicated
      replicas: 1
    env_file: .cms.env
    volumes:
    - "../admin-panel:/admin-panel"
    networks:
      nabed: {}

networks:
  nabed:
    driver: overlay

внутри контейнера API:

$ curl cms.nabed.local
curl: (7) Failed to connect to cms.nabed.local port 80: Connection timed out

внутри контейнера CMS:

$ curl api.nabed.local
curl: (7) Failed to connect to api.nabed.local port 80: Connection timed out

ОБНОВЛЕНИЕ № 3:

Я могу решить эту проблему, поместив мои хосты в мой файл YAML в опции extra_hosts , затем переключив все сети в режим ' доверенный ', затем перезапустив docker и Networkmanager

Примечание: для людей, проголосовавших за закрытие этого вопроса, пожалуйста, попробуйте вместо справки

1 Ответ

0 голосов
/ 03 октября 2018

Попробуйте очень грязное решение - запустите свой контейнер в сети хоста - аргумент запуска docker --net=host.

Полагаю, будет и лучшее решение, но вы не предоставили подробную информацию о том, как вы запускаете свои контейнеры и какая сеть доступна для ваших контейнеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...