我需要具有主机的主机名才能运行入口点脚本,该脚本相应地运行(生产,预生产)。如何获取hostname
并将其设置为Dockerfile中的ARG。 docker-compose.yml使用此docker文件。
docker-compose.yml:
...
nginx:
restart: always
build: ./nginx
ports:
- "80:80"
- "443:443"
volumes_from:
- web
depends_on:
- web
container_name: 'nginx'
...
./ nginx文件夹中的Dockerfile:
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
答案 0 :(得分:1)
您应该通过环境变量传递主机名