进行构建之前注意

如果报OCI runtime create failed: systemd cgroup flag passed, but systemd support for managing cgroups is not available: unknown错误
请将daemon.json中的"exec-opts": ["native.cgroupdriver=systemd"]删掉

个人问题

我使用Dockerfile构建镜像时,使用Alpine版本的基础镜像包,进行构建一直会卡到
[INFO] fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
[INFO] fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
通过这个地址下载这里,然后下载不下来就开始报错。
[ERROR] The command '/bin/sh -c set -xe && apk --no-cache add ttf-dejavu fontconfig' returned a non-zero code: 2
或者
[ERROR] The command '/bin/sh -c set -xe && apk --no-cache add ttf-dejavu fontconfig' returned a non-zero code: 1
尝试修改Docker镜像源无效之后开始寻找其他镜像源问题

问题原因

alpine本身APK镜像源地址在/etc/apk/repositories文件中,是一个国外镜像,***感人,几百KB下载半个多小时。所以我们要将该地址更换为国内的阿里源

解决Demo

FROM adoptopenjdk/openjdk8-openj9:alpine-slim

MAINTAINER ****************@*****.com

RUN mkdir -p /cim-railway/auth
#使用验证码字体包进行测试。第一步将apk源替换为国内阿里源。没有第一步将下载难产
RUN echo -e 'https://mirrors.aliyun.com/alpine/v3.6/main/\nhttps://mirrors.aliyun.com/alpine/v3.6/community/' > /etc/apk/repositories \
    && apk update \
    && apk upgrade \
    && apk --no-cache add ttf-dejavu fontconfig

在不使用Docker构建镜像时
只需要将/etc/apk/repositories文件中的两行镜像地址更换为下面地址即可
https://mirrors.aliyun.com/alpine/v3.6/main/
https://mirrors.aliyun.com/alpine/v3.6/community/