Могу ли я получить имя хоста внутри Dockerfile - PullRequest
0 голосов
/ 19 февраля 2019

Мне нужно иметь имя хоста для запуска сценария точки входа, который запускается соответствующим образом (производство, подготовка к выпуску).Как я могу получить hostname и установить его как ARG внутри Dockerfile.Этот файл Docker используется docker-compose.yml.

docker-compose.yml:

...
nginx:
    restart: always
    build: ./nginx
    ports:
      - "80:80"
      - "443:443"
    volumes_from:
      - web
    depends_on:
      - web
    container_name: 'nginx'
...

Dockerfile внутри папки ./nginx:

FROM nginx:latest
ARG HOST_HOSTNAME=hostname
ENV HOST_HOSTNAME=$HOST_HOSTNAME
COPY docker-entrypoint.sh /
RUN chmod +x /docker-entrypoint.sh
ENTRYPOINT ["/docker-entrypoint.sh"]
...

И внутри docker-entrypoint.sh, чтобы иметь возможность использовать ${HOST_HOSTNAME}.Также я хочу, чтобы этот код мог запускаться на каждой машине, ничего не меняя, а просто добавляя новые имена хостов в docker-entrypoint.sh

1 Ответ

0 голосов
/ 19 февраля 2019

Вы должны передать имя хоста через переменную окружения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...