← 返回列表

k8s: 龙芯支持Docker Registry

k8s: 龙芯支持Docker Registry

  • Dockerfile

    cat << EOF > Dockerfile.loong64
    FROM ghcr.io/loong64/golang:1.24-alpine AS build
    WORKDIR /src
    COPY . .
    ENV CGO_ENABLED=0
    RUN go build -trimpath -ldflags="-s -w" -o /registry ./cmd/registry
    
    FROM ghcr.io/loong64/alpine:3.21
    RUN apk add --no-cache ca-certificates
    COPY --from=build /registry /bin/registry
    COPY cmd/registry/config-dev.yml /etc/distribution/config.yml
    VOLUME ["/var/lib/registry"]
    EXPOSE 5000
    ENTRYPOINT ["registry"]
    CMD ["serve", "/etc/distribution/config.yml"]
    EOF
    
  • 编译

    git clone --depth 1 --branch v3.0.0 https://github.com/distribution/distribution.git
    cp Dockerfile.loong64 distribution && cd distribution
    docker build -f Dockerfile.loong64 -t registry:3-loong64 .
    
  • 测试

    docker rm -f registry
    docker run -d -p 5000:5000 --restart=always --name registry \
      -e OTEL_TRACES_EXPORTER=none \
      -e REGISTRY_LOG_LEVEL=info \
      -v /data/registry:/var/lib/registry \
      registry:3-loong64
    
    [root@TOS-54174 hcitos]# docker ps
    CONTAINER ID   IMAGE                COMMAND                  CREATED          STATUS          PORTS                                       NAMES
    135b90813d12   registry:3-loong64   "registry serve /etc…"   31 seconds ago   Up 30 seconds   0.0.0.0:5000->5000/tcp, :::5000->5000/tcp   registry