尝试从entrypoint.sh脚本更改具有导出HOSTNAME=somehost
的容器的主机名,但不更改
附加我当前的dockerfile和entrypoint.sh文件 Dockerfile:
FROM ubuntu:latest
RUN apt-get update && apt-get -y upgrade && DEBIAN_FRONTEND=noninteractive apt-get -y install \
apache2 \
dos2unix
WORKDIR /etc/
RUN mkdir Docker2
COPY entrypoint.sh /etc/Docker2/
WORKDIR /etc/Docker2
RUN chmod +x entrypoint.sh
RUN dos2unix entrypoint.sh
EXPOSE 80
ENTRYPOINT ["/etc/Docker2/entrypoint.sh"]
entrypoint.sh:
#!/bin/sh
set -e
export HOSTNAME=somehost
exec "$@"
cd /usr/sbin && ./apache2ctl -D FOREGROUND
答案 0 :(得分:1)
我认为env HOSTNAME
仅在shell情况下有效。 Docker提供了另一种custom hostname的方式:
docker run --hostname <name> image:tag
答案 1 :(得分:0)
在启动时从entrypoint.sh编辑容器内的/ etc / hostname文件。
echo some.host.name > /etc/hostname
否则,必须使用-h或--hostname选项运行容器。