天天看點

harbor的nginx替換

因為安全緣故,而harbor的基礎鏡像最新的photon隻能下載下傳到nginx的1.9.x版本,是以需要替換nginx到最新的版本
  1. 第一步,先部署好harbor,或者解壓harbor 手動load鏡像。
data=$(ls harbor.*tar.gz)
cd harbor;docker load < $data
           
  1. 編譯自己的nginx鏡像,基于任意的nginx官方鏡像版本, 因為nginx的預設ID是101、 nginx的預設使用者是root和docker-entrypoint.sh的原因,會導緻權限報錯,是以改成nginx使用者
FROM nginx:1.21.3
RUN apt-get update && apt-get install -y cron rsyslog logrotate libvshadow-utils sudo
RUN userdel nginx && groupadd -r -g 10000 nginx && useradd --no-log-init -r -g 10000 -u 10000 nginx
HEALTHCHECK CMD curl --fail -s http://localhost:8080 || exit 1
USER nginx
           
docker build -t goharbor/nginx-photon:v2.2.3 .
           
  1. 儲存鏡像到harbor的鏡像裡面
for image in `docker images | grep gohar | awk '{print $1":"$2}'`;do echo $image >> image.txt ; done
docker save `cat image.txt` > $data # 後面的指令可以自己根據harbor的版本進行替換 harbor.v2.3.3.tar.gz
           

補充說明

因為harbor的go寫的,并且是用golang的官方鏡像做的編譯,隻要根據自己的需要,可以替換成任意的鏡像

繼續閱讀