Docker安裝
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG ${user_name}
複製代碼
build-kit是什麼
"features": {
"buildkit": true
}
複製代碼
以bind爲案例進行構建
- docker-bind項目是一個開源的自定義DNS部署服務,可是並無提供基於
linux/aarch64
架構的可用鏡像,所以須要本身使用buildx
命令執行構建操做
- 在樹莓派系統中,執行
uname -a
來查看本身的目標架構
git clone https://github.com/sameersbn/docker-bind.git
cd docker-bind
echo 'FROM ubuntu:focal-20200423 AS add-apt-repositories COPY jcameron-key.asc jcameron-key.asc RUN apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y gnupg \ && apt-get install -y curl \ && apt-key adv --fetch-keys https://www.webmin.com/jcameron-key.asc \ && echo "deb http://download.webmin.com/download/repository sarge contrib" >> /etc/apt/sources.list FROM ubuntu:focal-20200423 LABEL maintainer="sameer@damagehead.com" ENV BIND_USER=bind \ BIND_VERSION=9.16.1 \ WEBMIN_VERSION=1.970 \ DATA_DIR=/data RUN apt-get update \ && apt-get install -y curl COPY --from=add-apt-repositories /etc/apt/trusted.gpg /etc/apt/trusted.gpg COPY --from=add-apt-repositories /etc/apt/sources.list /etc/apt/sources.list RUN rm -rf /etc/apt/apt.conf.d/docker-gzip-indexes \ && apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ bind9=1:${BIND_VERSION}* bind9-host=1:${BIND_VERSION}* dnsutils \ webmin=${WEBMIN_VERSION}* \ && rm -rf /var/lib/apt/lists/* COPY entrypoint.sh /sbin/entrypoint.sh RUN chmod 755 /sbin/entrypoint.sh EXPOSE 53/udp 53/tcp 10000/tcp ENTRYPOINT ["/sbin/entrypoint.sh"] CMD ["/usr/sbin/named"]' > Dockerfile
docker login --username=${user_name} registry.cn-hangzhou.aliyuncs.com
docker buildx build --platform linux/aarch64 -t registry.cn-hangzhou.aliyuncs.com/docker-image-lee/bind:aarch64 --no-cache --push .
docker buildx create --use
複製代碼
參考