Получить версию контейнера Docker изнутри контейнера

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

  1. Использование переменных среды Docker.
    Вы можете получить доступ к версии контейнера, прочитав значение переменной среды HOSTNAME, которая обычно включает идентификатор и версию контейнера.
  2. >

#!/bin/bash
container_version="$(echo $HOSTNAME | cut -d'-' -f2)"
echo "Container Version: $container_version"
  1. Разбор имени образа Docker.
    Вы можете извлечь версию контейнера, проанализировав имя образа Docker. Версия часто включается в название или тег изображения.
#!/bin/bash
container_version="$(echo $IMAGE_NAME | awk -F':' '{print $2}')"
echo "Container Version: $container_version"
  1. Запрос к 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"

Обратите внимание, что в приведенных выше примерах предполагается, что версия контейнера хранится в определенных переменных среды или метках. Возможно, вам придется скорректировать код в зависимости от того, как информация о версии фактически предоставляется в настройках вашего конкретного контейнера.