将本地构建的 docker image 推送到远程镜像库

目录

    • 推送到 Docker Hub
    • 推送到 GitHub Package Registry 注册表(可关联GitHub仓库)

推送到 Docker Hub

  • 前提:需要在 Docker Hub 创建账户、创建仓库。
  1. 创建 Dockerfile 和构建镜像: 在本地项目目录中创建一个 Dockerfile,定义您的容器镜像配置。然后使用以下命令构建镜像:
    docker build -t your-image-name:tag .
    
    将 your-image-name 替换为您的镜像名称,tag 替换为镜像标签。
  2. 登录到远程镜像库: 登录到您的远程镜像库
    docker login
    
  3. 将镜像标记为远程仓库地址: 使用以下命令将本地构建的镜像标记为远程仓库地址:
    docker tag your-image-name:tag your-docker-hub-username/your-repo-name:tag
    
  4. 推送镜像到远程仓库: 使用以下命令将标记后的镜像推送到远程仓库:
    docker push your-docker-hub-username/your-repo-name:tag
    
  5. 拉取远程镜像:
    docker pull your-username/your-image-name:tag
    

推送到 GitHub Package Registry 注册表(可关联GitHub仓库)

  • 前提:
    • 需要在GitHub创建个人访问令牌。参考官方文档
    • 建议将令牌保存为环境变量
      $ vim ~/.zshr
      export CR_PAT=YOUR_TOKEN
      $ source ~/.zshrc
      
  1. 创建 Dockerfile 和构建镜像: 在本地项目目录中创建一个 Dockerfile,定义您的容器镜像配置。然后使用以下命令构建镜像:
    docker build -t your-image-name:tag .
    
    将 your-image-name 替换为您的镜像名称,tag 替换为镜像标签。
  2. 登录到远程镜像库: 登录到您的远程镜像库
    docker login ghcr.io
    
    或者使用环境变量中的令牌
    $ echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin
    > Login Succeeded
    
  3. 将镜像标记为远程仓库地址: 使用以下命令将本地构建的镜像标记为远程仓库地址:
    替换 your-username 和 your-image-name 为您的 GitHub 用户名和镜像名称。
    docker tag your-image-name:tag ghcr.io/your-username/your-image-name:tag
    
    #举例
    docker tag xapi-backend-image:1.0.0 ghcr.io/xiaoxiongmao5/xapi-backend:1.0.0
    docker tag xapi-gateway-image:1.0.0 ghcr.io/xiaoxiongmao5/xapi-gateway:1.0.0
    
  4. 推送镜像到远程仓库: 使用以下命令将标记后的镜像推送到远程仓库:
    docker push ghcr.io/your-username/your-image-name:tag
    
    #举例
    docker push ghcr.io/xiaoxiongmao5/xapi-backend:1.0.0
    docker push ghcr.io/xiaoxiongmao5/xapi-gateway:1.0.0
    
  5. 拉取远程镜像:
    docker pull ghcr.io/your-username/your-image-name:tag
    

你可能感兴趣的:(docker,专栏,docker,容器,运维)