Docker --add-host и Docker составляют - PullRequest
0 голосов
/ 14 октября 2018

У меня есть 2 контейнера: PL и SL, оба они находятся на одном хосте (мой компьютер - windows).Оба контейнера созданы из образов Linux.

Эти контейнеры должны быть связаны друг с другом:

Внутри контейнера PL есть файл конфигурации (он находится в «томе»), и там явставил строку: sl_url.

Так вот, как я создал контейнер PL:

docker run -d -p 8084:8080 -p 8008:8009 -v C:\temp\conf:/opt/tomcat/conf --add-host="sl-url:<my_host_IP_address>" --platform=linux <pl_image_name>

Как видите, sl-url транслируется в мой ip.Но это не очень хорошее решение - потому что мой ip может измениться.

Итак, я слышал о docker compose (https://docs.docker.com/compose/networking/), как я могу это сделать с помощью docker compose? Я хотел бы создать контейнер из образабез ввода моего IP каждый раз. Я хотел бы вставить только имя хоста.

Возможно ли это?

1 Ответ

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

Я предполагаю, что «должен быть подключен друг к другу» означает, что вы можете обратиться к приложению в контейнере PL, который привязывается к порту, из контейнера SL или наоборот.

Выможно добиться этого с помощью докера.Вот минимальный docker-compose.yml

version: "3.5"
services:
  SL:
  image: SL                 # or whatever the full image name is
  container_name: sl
  networks:
    - my_network

  PL:
  image: PL                 # or whatever the full image name is
  container_name: sl
  networks:
    - my_network

networks:
  my_network:
    name: my_network
    driver: bridge

После этого вы сможете добраться до контейнера SL из контейнера PL, используя просто sl.my_network.Попробуйте, например:

docker exec -it pl bash                         # with this command you enter container pl
ping sl.my_network

Предполагается, что в вашем контейнере установлены bash и ping.Вы можете использовать этот URI (sl.my_network) в любой конфигурации внутри ваших контейнеров.Docker DNS разрешит это за вас.

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