IDEA制作docker镜像推送到docker hub和阿里云镜像仓库

这篇具有很好参考价值的文章主要介绍了IDEA制作docker镜像推送到docker hub和阿里云镜像仓库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

学习如何本地制作镜像推送到远程仓库管理,希望可以帮到有需要的人


准备工作:

        1.注册docker hub账号,下载Docker Desktop Windows版本

        2.注册阿里云账号,开通容器镜像服务个人版

注意事项

Docker Desktop的安装教程网上有很多,这里不做教程,这里提醒一点避免安装的时候遇到坑,Docker Desktop安装时会默认勾选使用wsl2,如果你是win11安装可以勾选上,win11对这个的支持很友好,只需要一行代码就可以完成安装,但是如果你是win10,建议把这个取消掉,因为我笔记本是win11勾上后安装后能正常使用,但是我家里的台式就不行,自己安装上的wsl始终和Docker Desktop有冲突,本身我也只是用来管理镜像,用不上wsl,所以win10我就把这个安装项取消掉了。


登录Docker Desktop

这里可以去做一些配置,可以做一些加速,我没有配置,可以正常上传,有需要的另行查看文章

idea docker 阿里云,docker,阿里云,容器,java,intellij-idea

IDEA使用docker插件

我用的23最新版idea是自带docker插件的,老版本的可能需要自己去插件市场装docker插件

docker desktop正常开启的话,在idea配置的docker里可以直接连接上,看到最下方success就是可以了

idea docker 阿里云,docker,阿里云,容器,java,intellij-idea

IDEA使用Maven打包

我以spring boot项目演示,需要注意的是使用maven打包的时候注意排除掉配置文件,镜像内不要有敏感信息,配置都用外部挂载的方式

idea docker 阿里云,docker,阿里云,容器,java,intellij-idea

idea docker 阿里云,docker,阿里云,容器,java,intellij-idea

打包后在target下看到jar包,顺便检查下有没有排除配置文件,这里可以看到只有一个主配置在,具体的环境配置信息application-admin-prod.yml是排除了的

IDEA制作镜像

在项目根目录编写Dockerfile,不懂的可以简单学一下,知道基础的编写规则就可以

idea docker 阿里云,docker,阿里云,容器,java,intellij-idea

贴一份具体内容

# 使用官方的 OpenJDK 8 镜像作为基础镜像
FROM openjdk:8-jdk


ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8

# 设置工作目录
WORKDIR /app


# 复制构建好的 JAR 文件到工作目录
COPY target/*.jar /app/app.jar

# 安装vim
RUN apt-get update && apt-get install -y vim

# 暴露应用程序的端口
EXPOSE 8080

# 添加作者信息
LABEL maintainer="docker"

# 定义启动命令
CMD ["java", "-jar", "app.jar"]

这里有个坑需要主要,如果打完镜像运行报错:java.io.IOException: Problem reading font data这个问题说明你程序里用到读取字体的功能,一般就是图形验证码功能,网上的Dockerfile一般是写的FROM openjdk:8-jdk-alpine,这是比较轻量级的,直接使用openjdk:8-jdk可解决问题。

接着把Dockerfile和docker关联上,选择Edit Config....

idea docker 阿里云,docker,阿里云,容器,java,intellij-idea

idea docker 阿里云,docker,阿里云,容器,java,intellij-idea

idea docker 阿里云,docker,阿里云,容器,java,intellij-idea

镜像名和容器名看着填写,选择apply,然后在这里点Run也可以,在外面点运行也可以

idea docker 阿里云,docker,阿里云,容器,java,intellij-idea

运行后在Services能够看到控制台信息

idea docker 阿里云,docker,阿里云,容器,java,intellij-idea

镜像制作完成后会直接在容器里运行,可以顺便看看有没有问题,因为没有配置文件所以报错redis连接不上,镜像没有问题

idea docker 阿里云,docker,阿里云,容器,java,intellij-idea

接着打开Docker Desktop可以看自己的镜像

idea docker 阿里云,docker,阿里云,容器,java,intellij-idea

上传镜像到Docker hub

没有仓库的先创建一个库,个人版只有一个私人库,所以还是用公共库吧,所以制作的镜像一定要排除敏感信息。

在idea修改镜像名字,格式是你的docker hub账号+仓库名

idea docker 阿里云,docker,阿里云,容器,java,intellij-idea

复制上面马赛克的一段在idea里填写到第三步,最后的latest版本号看个人改不改

idea docker 阿里云,docker,阿里云,容器,java,intellij-idea

这里可以配置推送镜像的地址,但是我没配置连接所以就没有从这里推送,应该说配置了但是连不上,就到Docker Desktop去推送了,会看到一个新的名字的镜像,点击推送

idea docker 阿里云,docker,阿里云,容器,java,intellij-idea

idea docker 阿里云,docker,阿里云,容器,java,intellij-idea

然后就可以,去你远程仓库看看,这一步就完成了。

上传镜像到阿里云镜像仓库

前面创建好阿里云账号并且开通容器服务个人版(免费),创建好自己的仓库名字

idea docker 阿里云,docker,阿里云,容器,java,intellij-idea

点进去后下面是有操作指南的,都是命令也很简单,这里提供一个bat脚本,直接执行就可以

@echo off
setlocal enabledelayedexpansion

REM 查看镜像ID
docker images

set ALIYUN_USERNAME=你的阿里云账号
set ALIYUN_REGISTRY=registry.cn-hangzhou.aliyuncs.com(这里改成自己的仓库地域)
set NAMESPACE=你的命名空间

REM 预定义的镜像仓库名称列表
set IMAGE_NAMES=kingenjoy_admin-web kingenjoy_admin-api kingenjoy_front-api

REM 提示用户选择一个镜像名称
echo "请选择一个镜像名称:"
set INDEX=1
for %%i in (%IMAGE_NAMES%) do (
    echo !INDEX!. %%i
    set /a INDEX+=1
)

REM 提示用户输入选择的数字
set /p INDEX="选择: "

REM 根据用户选择获取相应的镜像名称
set IMAGE_NAME=
set INDEX_COUNTER=1
for %%i in (%IMAGE_NAMES%) do (
    if !INDEX_COUNTER! equ %INDEX% set IMAGE_NAME=%%i
    set /a INDEX_COUNTER+=1
)

REM 提示用户输入镜像ID
set /p IMAGE_ID="请输入镜像ID: "


REM 生成基于时间戳的镜像版本
for /f "delims=" %%a in ('wmic os get localdatetime ^| find "."') do set datetime=%%a
set IMAGE_VERSION=%datetime:~0,4%%datetime:~4,2%%datetime:~6,2%%datetime:~8,2%%datetime:~10,2%%datetime:~12,2%%datetime:~15,3%

REM 登录阿里云容器镜像服务
docker login --username=%ALIYUN_USERNAME% %ALIYUN_REGISTRY%

REM 打标签
docker tag %IMAGE_ID% %ALIYUN_REGISTRY%/%NAMESPACE%/%IMAGE_NAME%:%IMAGE_VERSION%

REM 推送镜像到阿里云容器镜像服务
docker push %ALIYUN_REGISTRY%/%NAMESPACE%/%IMAGE_NAME%:%IMAGE_VERSION%

echo "镜像上传完成。"
echo "IMAGE_VERSION: %IMAGE_VERSION%"

把前面几行换成自己的就可以,然后用终端打开运行脚本根据提示选择上传的仓库和输入镜像ID,最后输入上传密码就可以了

idea docker 阿里云,docker,阿里云,容器,java,intellij-idea

完成。

有条件的可以把这一套配置到Jenkins实现的自动化,我是个人使用,服务器的配置也不够再搭建一个Jenkins了,所以就在本地完成镜像制作和推送。文章来源地址https://www.toymoban.com/news/detail-803350.html

到了这里,关于IDEA制作docker镜像推送到docker hub和阿里云镜像仓库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 把jar包打成docker镜像并推送到Docker Hub

    1、准备需要的jar包并复制到服务器某个目录下 2、在此目录下,创建Dockerfile的文本文件,并将以下内容添加到文件中: 3、把jar包打包成镜像 其中, your-image-name 是镜像名称, 1.0 是版本号, . 表示 Docker 上下文路径,这里假设您在当前目录下。 打完之后查看docker镜像 4、推送

    2024年02月11日
    浏览(24)
  • idea配置docker推送本地镜像到远程私有仓库

    目录 1,搭建远程Docker 私有仓库 Docker registry 2,Windows10/11系统上安装Docker Desktop 3,idea 配置远程私有仓库地址 4,idea 配置Docker 5,idea在本地构建镜像 6,推送本地Docker镜像到远程 Docker私有仓库 7,测试/生产环境从 Docker registry 私有仓库中拉取镜像 1,搜索镜像 2,拉取镜像并

    2024年02月03日
    浏览(36)
  • IDEA整合Docker,一键打包服务镜像与启动容器

    尝试了IDEA整合Docker,坑有些多,但经过查阅资料都一一解决了,写了个案例,感觉这种方式确实要方便很多。下面来整理下步骤: 一、安装Docker 准备一台Linux,我这里用的是centos 7 mini 版,然后安装Docker 安装Device Mapper: 配置Docker的yum源: 更新yum缓存 安装Docker-ce 等待上述加

    2024年02月02日
    浏览(42)
  • Maven生成和推送Docker镜像到Docker仓库( IDEA 亲测可用)

    目录 1.搭建私有Docker镜像仓库 1.搭建docker registry 2.搭建docker registry web UI: 2.Maven创建并上传Docker镜像: 1.允许docker被远程访问 2.重启docker服务 3.构建和上传Docker镜像(不适用IDEA) 4.构建并上传Docker镜像(适用IDEA) 1.搭建docker registry 参考文档:docker-registry私有镜像库搭建并配置

    2023年04月08日
    浏览(31)
  • SpringBoot项目使用docker-maven-plugin插件构建docker镜像以及推送到docker hub或docker registry私服

    我们知道docker可将应用程序和基础设施层隔离,可更快地打包、测试以及部署应用程序。本文主要介绍SpringBoot项目如何构建docker镜像以及推送到私服或者docker hub服务器上。 本文介绍的方式是使用docker-maven-plugin的方式构建SpringBoot的docker镜像以及推送到私服或docker hub服务器上

    2024年02月16日
    浏览(35)
  • 本地镜像如何推送到docker 仓库

    要将本地镜像推送到Docker仓库,需要按照以下步骤操作: 1. 首先,使用`docker login`命令登录到Docker仓库。输入用户名和密码进行身份验证。 2. 然后,使用`docker tag`命令为本地镜像添加标签。语法为`docker tag [本地镜像ID] [仓库地址]/[镜像名称]:[标签]`。其中,`[仓库地址]`是Do

    2024年02月08日
    浏览(42)
  • Docker Hub和镜像仓库

    目录 前言 搜索镜像 创建存储库 推送容器到仓库 Docker Hub 是 Docker 公司提供的官方公共 Docker 镜像注册表,允许用户存储、分享和获取 Docker 镜像。在 Docker Hub 上,你可以找到许多官方和社区维护的 Docker 镜像。 登录后,你可以使用 Docker Hub 的搜索功能来查找感兴趣的镜像。你

    2024年02月14日
    浏览(32)
  • docker镜像仓库hub.docker.com无法访问

    文章主要内容: 介绍dockerhub为什么无法访问 解决办法 最近许多群友都询问为什么无法访问Docker镜像仓库,于是我也尝试去访问,结果果然无法访问。 大家的第一反应就是给墙了,通过ping检测红的很可怕。 实际上是DNS被污染了,导致很多用户都无法访问。至于什么是DNS污染

    2024年02月07日
    浏览(38)
  • Maven打包构建Docker镜像并推送到仓库

    对于开发完成的服务要发布至服务器Docker时,我刚学习了解Docker时构建镜像方式是将我的本地服务先通过maven打包称为jar包,然后再上传至我的服务器上,通过Dockerfile将其构建成为镜像。后来才了解了直接通过maven命令直接打包构建的方式,以下是完成这一操作的步骤。 修改

    2024年02月05日
    浏览(52)
  • docker镜像仓库hub.docker.com无法访问-解决办法

    目录 docker镜像仓库hub.docker.com无法访问-解决办法 1 个人镜像站点 2 dockerhub为什么无法访问 2.1 查看dockerhub实际IP 2.2 ping检测 3 镜像加速 3.1 使用国内镜像加速 3.1.1 docker配置: 3.1.2 containerd配置: 3.2 使用博主个人镜像仓库 3.2.1 目前有如下镜像仓库,后续会陆续增加 3.2.2 使用方

    2024年02月09日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包