windows11下使用docker打包镜像并上传到个人镜像仓库(详细图文)

一、windows下安装docker

步骤:
注意 :安装windows版的docker 需要先安装WSL(windows System for Linux)具体可参考:https://www.ytso.com/270594.html, 本文就不做详细描述。
  1. docker官网 https://www.docker.com/products/docker-desktop/ 下载Docker Desktop

在这里插入图片描述
2. 下载成功后,双击进行安装
在这里插入图片描述

  1. 安装成功后 在PowerShell查看版本号docker --version ,出现下图信息则为安装成功
    在这里插入图片描述

二、创建个人镜像仓库

​ 如果自己购买了服务器,可以在服务器搭建私人镜像仓库,具体参考:https://blog.csdn.net/AtobeKegio/article/details/128048063 本文主要以免费的阿里云容器镜像服务实现创建。

步骤:
  1. 登录阿里云 https://account.aliyun.com/login/login.htm,如果没有账号可以先注册后在登录。
    在这里插入图片描述

  2. 登录成功后,点击控制台。然后在最左上角,点击“ 三 ”图标 ,菜单展开后找到容器镜像服务。
    在这里插入图片描述
    在这里插入图片描述

  3. 选择个人版实例,创建个人版实例
    在这里插入图片描述

  4. 点击个人实例进入
    在这里插入图片描述

  5. 点击镜像仓库,创建镜像仓库
    在这里插入图片描述

    1. 填写仓库信息(仓库类型选择公开就所有人都能pull和push,设为私有则需要输入账号密码才能pull,push),填写完毕点击下一步
      在这里插入图片描述
  6. 点击本地仓库,然后点击创建仓库,至此,个人镜像仓库就创建完成了。
    在这里插入图片描述
    在这里插入图片描述

三、打包本地代码,并上传至个人镜像仓库

  1. 将本地项目打包成jar包。
    在这里插入图片描述

    1. 新建DockerFile和 docker-entrypoint.sh 两个文件,DockerFile为docker打包所需文件,docker-entrypoint.sh为项目入口文件。

      DockerFile

      FROM openjdk:8u272-jdk
      ENV APP_JAR /devices-0.0.1-SNAPSHOT.jar
      ENV TZ Asia/Shanghai
      WORKDIR /
      COPY target/devices-0.0.1-SNAPSHOT.jar /
      ADD /docker-entrypoint.sh //
      RUN chmod +x docker-entrypoint.sh
      ENTRYPOINT ["./docker-entrypoint.sh"]
      

      docker-entrypoint.sh

      #!/usr/bin/env bash
      java -jar $JAVA_OPTS -server \
      -XX:+UnlockExperimentalVMOptions \
      -XX:+UseCGroupMemoryLimitForHeap \
      -XX:-OmitStackTraceInFastThrow \
      -Djava.security.egd=file:/dev/./urandom \
      /$APP_JAR
      
    2. 运行cmd,进入命令行窗口,切换到项目target同级目录,创建docker镜像,注意:最后面的那个点不能漏掉
      在这里插入图片描述在这里插入图片描述

    3. push创建好的镜像到个人仓库
      在这里插入图片描述
      在这里插入图片描述

    4. 至此,docker打包项目到个人镜像仓库就完成了,如果需要使用该镜像使用命令

      docker pull registry.cn-hangzhou.aliyuncs.com/jxzzy/mytest:[镜像版本号]
      

总结

​ docker是个非常好用的中间件,尤其对开发和运维来说简直就是工作利器,本人平时工作用的多,但是不怎么喜欢总结和记录,导致隔了一段时间不使用就会忘记,所以这个习不好惯会慢慢改过来,以后也会经常把工作经验进行记录和分享,如果我的分享对您有点帮助就点赞收藏吧!当然,如果有大佬能够指点一二,鄙人也不胜感激!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐