• 前提条件
  • 如何上传基础镜像到 Harbor

    前提条件

    请确保正确安装了 内置 Harbor,并准备好了基础镜像 java:openjdk-8-jre-alpine

    如何上传基础镜像到 Harbor

    1、执行以下命令,导入预先准备好的基础镜像 java:openjdk-8-jre-alpine

    1. $ docker load < XXX.tar

    load

    2、对镜像打 tag,在终端执行命令 docker tag fdc893b19a14 harbor.devops.kubesphere.local:30280/library/java:openjdk-8-jre-alpine,注意:其中 fdc893b19a14 为 image ID,请根据实际情况进行修改,镜像名称格式为<仓库地址>/<项目名称>/<镜像名称>:<标签>。

    3、本地加入 insecure

    若改主机为 KubeSphere 集群的节点,则无需配置,请跳过此步骤。若为集群外部主机,请修改 Docker 配置文件 daemon.json,在Linux上的默认路径为 /etc/docker/daemon.json,Windows 上的默认路径为%programdata%\docker\config\daemon.json,在该文件中加入配置

    1. "insecure-registries" : [
    2. "harbor.devops.kubesphere.local:30280"
    3. ]

    具体文件参数详情可参考 Docker Daemon 配置文件。

    然后重启 Docker。

    4、登陆 Harbor,执行命令 docker login -u admin -p Harbor12345 http://harbor.devops.kubesphere.local:30280

    1. $ docker login -u admin -p Harbor12345 http://harbor.devops.kubesphere.local:30280
    2. WARNING! Using --password via the CLI is insecure. Use --password-stdin.
    3. WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
    4. Configure a credential helper to remove this warning. See
    5. https://docs.docker.com/engine/reference/commandline/login/#credentials-store
    6. Login Succeeded

    5、推送镜像,执行命令 docker push harbor.devops.kubesphere.local:30280/library/java:openjdk-8-jre-alpine

    1. $ docker push harbor.devops.kubesphere.local:30280/library/java:openjdk-8-jre-alpine
    2. The push refers to repository [harbor.devops.kubesphere.local:30280/library/java-openjdk-8]
    3. 20dd87a4c2ab: Pushed
    4. 78075328e0da: Pushed
    5. 9f8566ee5135: Pushed
    6. v1: digest: sha256:955dbe76c31f802d537d0c5e4160b3a010091e7e8323f46ecbb2a0f2174a5ef5 size: 947

    6、登陆 Harbor 查看到推送的镜像,即完成镜像推送。

    image