Я использую докера, и мои сценарии ссылаются на переменную среды, как которая я вручную устанавливаю в/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, и как я могу сослаться на это в командной строке или в файле?
Или если Вы знаете об альтернативе, я открыт для предложений.
Добавьте следующее к /etc/bash.bashrc
Рассматриваемый адаптер: enp0s3
, так изменение это соответственно
IP="$(ip addr show enp0s3 | awk '$1 == "inet" { print $2 }' | cut -d/ -f1)"
export SERVER_IP=${IP}
Я использую следующий подход:
Предположим, что ваше сетевое имя 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