镜像构建历史
# 2024-11-09 02:13:16 0.00B 设置默认要执行的命令
CMD ["haproxy" "-f" "/usr/local/etc/haproxy/haproxy.cfg"]
# 2024-11-09 02:13:16 0.00B 指定运行容器时使用的用户
USER haproxy
# 2024-11-09 02:13:16 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["docker-entrypoint.sh"]
# 2024-11-09 02:13:16 417.00B 复制新文件或目录到容器中
COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
# 2024-11-09 02:13:16 0.00B 设置停止容器时发送的系统调用信号
STOPSIGNAL SIGUSR1
# 2024-11-09 02:13:16 15.24MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update && apt-get install -y --no-install-recommends gcc libc6-dev liblua5.3-dev libpcre2-dev libssl-dev make wget ; rm -rf /var/lib/apt/lists/*; wget -O haproxy.tar.gz "$HAPROXY_URL"; echo "$HAPROXY_SHA256 *haproxy.tar.gz" | sha256sum -c; mkdir -p /usr/src/haproxy; tar -xzf haproxy.tar.gz -C /usr/src/haproxy --strip-components=1; rm haproxy.tar.gz; makeOpts=' TARGET=linux-glibc USE_GETADDRINFO=1 USE_LUA=1 LUA_INC=/usr/include/lua5.3 USE_OPENSSL=1 USE_PCRE2=1 USE_PCRE2_JIT=1 USE_PROMEX=1 EXTRA_OBJS=" " '; dpkgArch="$(dpkg --print-architecture)"; case "$dpkgArch" in armel) makeOpts="$makeOpts ADDLIB=-latomic" ;; esac; nproc="$(nproc)"; eval "make -C /usr/src/haproxy -j '$nproc' all $makeOpts"; eval "make -C /usr/src/haproxy install-bin $makeOpts"; mkdir -p /usr/local/etc/haproxy; cp -R /usr/src/haproxy/examples/errorfiles /usr/local/etc/haproxy/errors; rm -rf /usr/src/haproxy; apt-mark auto '.*' > /dev/null; [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; find /usr/local -type f -executable -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; haproxy -v # buildkit
# 2024-11-09 02:13:16 0.00B 设置环境变量 HAPROXY_SHA256
ENV HAPROXY_SHA256=bf2edacb09a3080622e3d98100636d6cb6ee0dfc0bfbe98e5ea3b62b61d1209b
# 2024-11-09 02:13:16 0.00B 设置环境变量 HAPROXY_URL
ENV HAPROXY_URL=https://www.haproxy.org/download/2.4/src/haproxy-2.4.28.tar.gz
# 2024-11-09 02:13:16 0.00B 设置环境变量 HAPROXY_VERSION
ENV HAPROXY_VERSION=2.4.28
# 2024-11-09 02:13:16 4.31KB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; groupadd --gid 99 --system haproxy; useradd --gid haproxy --home-dir /var/lib/haproxy --no-create-home --system --uid 99 haproxy ; mkdir /var/lib/haproxy; chown haproxy:haproxy /var/lib/haproxy # buildkit
# 2024-11-09 02:13:16 9.21MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates ; rm -rf /var/lib/apt/lists/* # buildkit
# 2024-11-09 02:13:16 74.83MB
# debian.sh --arch 'amd64' out/ 'bookworm' '@1743984000'
镜像信息
{
"Id": "sha256:fc92e47c228a38c03a75415fb1a55947f6ab09578036424f9bf32bbfc44ac35b",
"RepoTags": [
"haproxy:2.4.28",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/haproxy:2.4.28"
],
"RepoDigests": [
"haproxy@sha256:cceaefeb8925c60c143266ce7a94085a2e925ba3b331c24139eaca8e72c5d6f8",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/haproxy@sha256:b8c50e165d0b4ecd4ada622d7992114ab58d2fb98d2e0678b3ca167239e89023"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2024-11-08T18:13:16Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "haproxy",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"HAPROXY_VERSION=2.4.28",
"HAPROXY_URL=https://www.haproxy.org/download/2.4/src/haproxy-2.4.28.tar.gz",
"HAPROXY_SHA256=bf2edacb09a3080622e3d98100636d6cb6ee0dfc0bfbe98e5ea3b62b61d1209b"
],
"Cmd": [
"haproxy",
"-f",
"/usr/local/etc/haproxy/haproxy.cfg"
],
"Image": "",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": [
"docker-entrypoint.sh"
],
"OnBuild": null,
"Labels": null,
"StopSignal": "SIGUSR1"
},
"Architecture": "amd64",
"Os": "linux",
"Size": 99283692,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/725235758ea56bb0b65088e7e37f47dc2925c68382e398c546bf30ec8a2d5ca7/diff:/var/lib/docker/overlay2/a7a8e1002287662e0217093b2e12d069cd6707870a78abcbecbb8c08783f17ab/diff:/var/lib/docker/overlay2/da99eb6c404bed5b4769d5e3785f4f0cd99f9ad7bc66e789720c2d916485630e/diff:/var/lib/docker/overlay2/6c87f3c40f6916490852332f5b9f29b4cf427a690869e3d003326ba790adfed3/diff",
"MergedDir": "/var/lib/docker/overlay2/10e9e5749d1d7693aa41c315a857057c937cfc27fdfc7c31c399b466797898bd/merged",
"UpperDir": "/var/lib/docker/overlay2/10e9e5749d1d7693aa41c315a857057c937cfc27fdfc7c31c399b466797898bd/diff",
"WorkDir": "/var/lib/docker/overlay2/10e9e5749d1d7693aa41c315a857057c937cfc27fdfc7c31c399b466797898bd/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:ea680fbff095473bb8a6c867938d6d851e11ef0c177fce983ccc83440172bd72",
"sha256:29a3e140121b4c38f080b10029540a3f2cd99a0cdfa14e91bcb34917d361e7ce",
"sha256:165973bdcb466d2e246cc0d93dc05dccd74e3342d5713ed81f7d87b9d4b9f072",
"sha256:1e08c5d7a5032eb73590a4275a75bd955196e8a5c11b68e089e8e0c413110788",
"sha256:c2af2e5a29b3ae919c0fabcac40ae9d4c26645173bcafafebca6c7f4a7153978"
]
},
"Metadata": {
"LastTagTime": "2025-04-09T15:11:04.938033889+08:00"
}
}