Как передать IP адрес сервера в Docker контейнер?

Для передачи IP-адреса сервера в Docker контейнер есть несколько способов. Вот некоторые из них:

1. Использование переменных среды
- Определите переменную среды в файле Dockerfile:

     ENV SERVER_IP <адрес_сервера>

- Внутри контейнера у вас будет доступ к этой переменной:

     String serverIP = System.getenv("SERVER_IP");

2. Команда docker run
- При запуске контейнера с помощью команды docker run, добавьте флаг -e для установки переменной среды:

     docker run -e SERVER_IP=<адрес_сервера> <имя_образа>

- Внутри контейнера вы можете получить значение переменной среды таким же образом, как описано в предыдущем примере.

3. Монтирование файла конфигурации
- Создайте файл конфигурации config.properties со следующим содержимым:

     server.ip=<адрес_сервера>

- При запуске контейнера добавьте флаг -v для монтирования файла конфигурации в контейнер:

     docker run -v /путь/к/файлу/config.properties:/путь/к/файлу/config.properties <имя_образа>

- Внутри контейнера вы можете прочитать значение IP-адреса сервера из файла конфигурации:

     Properties properties = new Properties();
     FileInputStream fileInputStream = new FileInputStream("/путь/к/файлу/config.properties");
     properties.load(fileInputStream);
     String serverIP = properties.getProperty("server.ip");

4. Использование связывания сети
- Создайте пользовательскую сеть Docker:

     docker network create my-network

- Запустите контейнер с определенным именем в этой сети и присвойте ему статический IP-адрес:

     docker run --name my-container --net my-network --ip <адрес_сервера> <имя_образа>

- Внутри контейнера можно использовать IP-адрес сервера, указав его имя (my-container в данном случае).

Все эти способы позволяют передать IP-адрес сервера в Docker контейнер, и вы можете выбрать тот, который наиболее подходит вашим требованиям.