背景:
測試環境,基於spark-2.4.4代碼,打鏡像,供spark on k8s使用。
問題:
執行打包鏡像命令,報錯如下:
docker build -t spark-2.4.4-merrily01-spark -f kubernetes/dockerfiles/spark/Dockerfile .
---> Running in 43e58e4f3a6f
+ apk upgrade --no-cache
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz: temporary error (try again later)
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/community/x86_64/APKINDEX.tar.gz
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.9/community/x86_64/APKINDEX.tar.gz: temporary error (try again later)
OK: 103 MiB in 54 packages
+ ln -s /lib /lib64
+ apk add --no-cache bash tini libc6-compat linux-pam nss
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/community/x86_64/APKINDEX.tar.gz
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz: temporary error (try again later)
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.9/community/x86_64/APKINDEX.tar.gz: temporary error (try again later)
ERROR: unsatisfiable constraints:
bash (missing):
required by: world[bash]
libc6-compat (missing):
required by: world[libc6-compat]
linux-pam (missing):
required by: world[linux-pam]
tini (missing):
required by: world[tini]
The command '/bin/sh -c set -ex && apk upgrade --no-cache && ln -s /lib /lib64 && apk add --no-cache bash tini libc6-compat linux-pam nss && mkdir -p /opt/spark && mkdir -p /opt/spark/work-dir && touch /opt/spark/RELEASE && rm /bin/sh && ln -sv /bin/bash /bin/sh && echo "auth required pam_wheel.so use_uid" >> /etc/pam.d/su && chgrp root /etc/passwd && chmod ug+rw /etc/passwd' returned a non-zero code: 4
分析:
看報錯信息,應該是執行dockerfile中的run 相關命令時,發現bash、libc6-compat、linux-pam、tini等缺失,可能是鏡像拉取或安裝過程失敗。
解決:
因爲之前打包鏡像沒問題,所以重啓docker嘗試後,結果問題解決...
systemctl restart docker