Docker创建springboot项目镜像

第一部分:springboot工程打包

1. 在pom.xml的最后配置以下项目 

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.1.7.RELEASE</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>            
        </plugins>
    </build>

2. 右键点击项目 run as -> maven install  (前提是设置好项目的jdk)

    或者run as -> maven build...  弹出框的goals中填写package -Dmaven.test.skip=true

    点击OK

3.  出现 BUILD SUCCESS 提示后 到前面提示的路径下即可看到打好的jar文件

第二部分:  创建Dockerfile镜像及实例

1.  目录管理: linux系统中 可创建统一目录为所有jar包创建镜像 公用同一个Dockerfile文件 

                     每次上传新的jar镜像都去修改这个Dockerfile。 也可以为每个jar单独创建目录

                     目录下创建各自的Dockerfile

2.  以某个jar为例 假设叫docker-lucy.jar   首先在根目录下创建docker-lucy-build子目录。进入

     子目录  在这里执行 vim Dockerfile  创建Dockerfile文件。 此处有2点需要注意:

      (1)  Dockerfile首字母要大写

    (2)Dockerfile是一个没有扩展名的文件

3.  在Dockerfile中添加以下内容

      FROM openjdk:8

      COPY *.jar /app.jar

       ENTRYPOINT ["java","-jar","/app.jar"]

       注意: ENTRYPOINT如果只是填写基本命令 会造成oracle时区不同步以及微服务容器占用

                 过多内存的问题 因此要加上对应参数如下:

                 ENTRYPOINT ["java","-jar","-Duser.timezone=GMT+08","-XX:MaxMetaspaceSize=256m","-Xms128m","-Xmx128m","-Xmn32m","-XX:SurvivorRatio=6","/app.jar"]

4.  利用putty工具将springboot打好的jar上传到linux刚刚创建的docker-lucy-build目录下 保证jar

     文件和Dockerfile在同一个目录

5.  执行如下命令构建镜像

     docker build -t docker-lucy .

  • docker bulid 是打包命令
  • -t 镜像加一个Tag
  • docker-lucy自定义的镜像名字
  • . 小数点表示当前目录,即Dockerfile所在目录

6. 执行docker images -a  查看已经创建的镜像

7. 执行如下命令为建好的镜像启动实例

    docker run -d -p 3333:3333 --name docker-lucy-container docker-lucy

  • -d 是后台运行
  • -p 8097:8097 端口映射  右面是springboot工程启动的端口 在容器内部 左面是宿主机对外端口
  • --name 定义容器名字
  • docker-lucy 以哪个镜像为基础运行容器

8.  执行 docker logs docker-lucy-container   查看容器是否顺利启动  没问题后执行下面命令测试服 务

     curl localhost:3333/xxx

第三部分: 将自己的镜像通过阿里云上传下载

1.  登录阿里云个人镜像仓库管理界面:

      https://cr.console.aliyun.com/cn-beijing/instances

2.  进入个人镜像管理界面 执行下面三步操作

     (1) 设置仓库密码 (registry密码)

     (2) 新建命名空间

     (3) 在命名空间下 为要上传的镜像建立各自的镜像仓库

3.  回到linux系统  执行下面命令登录阿里云个人仓库

    docker login --username=aliyun9758752338 registry.cn-beijing.aliyuncs.com

    密码: 步骤2设置的密码

    其中aliyun9758752338是系统自动生成的仓库用户名 每个人不一样

4.  执行下面2条命令  上传自己的镜像 如果网速慢 需要一些时间

    docker tag [ImageId] registry.cn-beijing.aliyuncs.com/xxx_space/docker-xxx:1.0
   docker push registry.cn-beijing.aliyuncs.com/xxx_space/docker-xxx:1.0

     xxx_space是步骤2建立的命名空间 

     docker-xxx是步骤2建立的镜像仓库

     1.0是镜像版本

5.  本地镜像删除 执行下面命令尝试下载刚刚上传的镜像

      docker pull registry.cn-beijing.aliyuncs.com/xxx_space/docker-xxx:1.0

      

  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值