使用docker build kit構(gòu)建樹(shù)莓派上可用的Docker鏡像
Docker安裝
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG ${user_name}
build-kit是什么
- 參考build ARM based Docker Images
- 簡(jiǎn)單來(lái)說(shuō)就是擴(kuò)展
docker build的一個(gè)實(shí)驗(yàn)性的功能
以bind為案例進(jìn)行構(gòu)建
docker-bind項(xiàng)目是一個(gè)開(kāi)源的自定義DNS部署服務(wù),但是并沒(méi)有提供基于linux/aarch64架構(gòu)的可用鏡像,因此需要自己使用buildx命令執(zhí)行構(gòu)建操作
在樹(shù)莓派系統(tǒng)中,執(zhí)行uname -a來(lái)查看自己的目標(biāo)架構(gòu)
- linux/aarch64
- linux/amd64
- linux/arm64
- linux/arm/v7
....
# 在樹(shù)莓派系統(tǒng)中執(zhí)行如下命令
git clone https://github.com/sameersbn/docker-bind.git
cd docker-bind
# 修改Dockerfile內(nèi)容,注意??!此項(xiàng)設(shè)置與docker-bind有關(guān),與build-kit的使用無(wú)關(guān),僅做演示用
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倉(cāng)庫(kù)
# 自己使用的是阿里云的鏡像倉(cāng)庫(kù),也可以使用dockerhub官方倉(cāng)庫(kù)
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 .
# 如果是在Mac或Windows上執(zhí)行構(gòu)建的話(huà),需要首先執(zhí)行下述命令
docker buildx create --use
push完成后,就可以在樹(shù)莓派上拿來(lái)用了~
參考
build ARM based Docker Images
docker buildx build
Build Docker Image for Raspberry Pi
到此這篇關(guān)于使用docker build kit構(gòu)建樹(shù)莓派上可用的Docker鏡像的文章就介紹到這了,更多相關(guān)docker build kit樹(shù)莓派Docker鏡像內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信