Как я могу создать переменную среды, которая содержит IP-адрес адаптера, который установлен через DHCP?

Я использую докера, и мои сценарии ссылаются на переменную среды, как которая я вручную устанавливаю в/etc/environment учетной записи нечто пользователя:

SERVER_IP=172.16.16.29

Я использую в своем докере - составляют файл (под которым я работаю как нечто),

environment:
  - ServerIP=${SERVER_IP}

Я хотел бы смочь иметь переменный DHCP_IP, который будет заполнен, когда адаптер enp0s3 будет иметь, это - набор IP-адреса так, чтобы я мог использовать DHCP_IP вместо SERVER_IP в докере - сочиняют выше.

Я не обеспокоен IP-адресом, изменяющимся часто, поскольку я использую MAC-адрес, просачивающийся мой маршрутизатор для присвоения того же IP. Но я не хочу должным быть устанавливать IP-адрес вручную в файле как, я делаю теперь.

Таким образом, как я могу поместить значение IP-адреса enp0s3 в переменную под названием DHCP_IP, и как я могу сослаться на это в командной строке или в файле?

Или если Вы знаете об альтернативе, я открыт для предложений.

0
задан 25 March 2019 в 09:29

2 ответа

Добавьте следующее к /etc/bash.bashrc

Рассматриваемый адаптер: enp0s3, так изменение это соответственно

IP="$(ip addr show enp0s3  | awk '$1 == "inet" { print $2 }' | cut -d/ -f1)"
export SERVER_IP=${IP}
0
ответ дан 25 October 2019 в 23:26

Я использую следующий подход:

Предположим, что ваше сетевое имя ens160:

IP=http://"$(ifconfig ens160 | awk '/inet /{print $2}' | cut -f2 -d':')"

Или:

IP=http://"$(hostname -I | cut -f1 -d' ')"

Тест:

echo $IP

http://192.168.100.146
1
ответ дан 5 January 2020 в 08:33

Другие вопросы по тегам:

Похожие вопросы: