Docker镜像的制作__推送

  • Docker镜像的制作

    首先docker是什么,在我的入门中有介绍,他是一个容器,所以在容器运行的内容就叫做镜像,二者并没有什么必要的联系,网络上五花八门的讲解搞了几天,就很无语,不就是给你准备制作镜像的内容打个标签,然后推送在dockerhub上面然后达到公共访问的效果,搞得人心塞,以下是我最后琢磨出来的部署方式:

    1. 首先你得有docker hub,去官网注册一个自己的账号:Docker hub,准备工作的第一步。然后就需要

安装docker服务,不管在哪里都得安装,安装docker服务的教程可以移步去Docker安装 去进一步学习,下面开始步入正文:

在众多博客主的总结中都是以优缺利弊对打包进行分析,我菜,我最后就研究出了一种方法,优缺利弊我辩不来,就是编写Dockerfile文件,不要去看什么maven构建镜像,费劲,首先打爆你的项目文件,以我新写的一个springboot项目为例,正常去打包得到正常的一个jar包:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

然后开始编写Dockerfile文件,Dockerfile用于构建镜像的配置文件,给你举个例:

# 使用官方的Java 17运行环境作为父镜像
FROM openjdk:17
# 变量,代表待复制的jar文件的路径
ARG JAR_FILE=server_check/*.jar
# 将本地的jar文件复制到容器的根目录下,并重命名为 server_check.jar
COPY ${JAR_FILE} /server_check.jar
# 设置容器启动后执行的命令
ENTRYPOINT ["java","-jar","/server_check.jar"]

有注释就不解释了,做个命令的区分:

FROM:指定基础镜像 类似与你的运行环境

RUN:执行的意思,RUN后面跟的都可以被执行

CMD:指定一个创建容器时的默认的命令

ADD:将文件或者目录复制于镜像中,还有URL

COPY:只是将文件或目录做一个复制(也是在镜像中)

ENTRYPOINT:设置容器创建时的主要命令;如上我设置的启动容器后执行我jar包的命令

EXPOSE:声明容器运行时监听的特定网络端口

COPY和ADD的区别:

  1. ADD :在执行源文件为tar压缩,若压缩格式为gzip或bzip2以及xz的情况下会自动解压并复制,但是不解压前提下无法复制tar文件,导致镜像构建失败。
  2. COPY:简单地复制文件或目录从源到镜像的目标路径。官方更推荐使用COPY

构建镜像

我构建的时候是在我的unbantu服务器进行的,在上传文件时注意不要将Dockerfile文件上传在jar包所在的文件夹中,应该在同一位置,这样进行编译时才不会失败,还有注意镜像名尽量不要设置大写,会报错。构建完以后按以下命令去执行:

  1. 登录你的Docker hub :docker login
  2. 然后通过:docker push 你的用户名/镜像名 推送到docker hub上面。
  3. 之后便可以进入你的仓库检查是否推送成功
  4. 运行命令:docker run 仓库名/镜像名:latest

如图:小本买卖就不暴露了。至此操作结束。✿✿ヽ(°▽°)ノ✿

image-20231020222505534

image-20231020222617217

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值