Чтобы получить версию контейнера Docker изнутри контейнера, вы можете использовать различные методы. Вот несколько примеров:
- Использование переменных среды Docker.
Вы можете получить доступ к версии контейнера, прочитав значение переменной средыHOSTNAME, которая обычно включает идентификатор и версию контейнера.
>
#!/bin/bash
container_version="$(echo $HOSTNAME | cut -d'-' -f2)"
echo "Container Version: $container_version"
- Разбор имени образа Docker.
Вы можете извлечь версию контейнера, проанализировав имя образа Docker. Версия часто включается в название или тег изображения.
#!/bin/bash
container_version="$(echo $IMAGE_NAME | awk -F':' '{print $2}')"
echo "Container Version: $container_version"
- Запрос к Docker API.
Вы можете сделать запрос к Docker API изнутри контейнера, чтобы получить информацию о контейнере, включая его версию. Для этого метода требуется инструмент командной строкиcurl.
#!/bin/bash
container_version=$(curl --unix-socket /var/run/docker.sock http:/v1.24/containers/$HOSTNAME/json | jq -r '.Config.Labels.version')
echo "Container Version: $container_version"
Обратите внимание, что в приведенных выше примерах предполагается, что версия контейнера хранится в определенных переменных среды или метках. Возможно, вам придется скорректировать код в зависимости от того, как информация о версии фактически предоставляется в настройках вашего конкретного контейнера.