idea使用docker生成镜像

提示:文章主要内容windows环境打包镜像,运行镜像,导出镜像,linux导入镜像

        Docker Desktop是Docker的官方桌面版,专为Mac和Windows用户设计,提供了一个简单易用的界面来管理和运行Docker容器。它集成了Docker引擎,为开发人员提供了一个快速、可靠、可扩展的方式来构建、运行和管理应用。Docker Desktop的优势在于,它使得在不支持原生Linux容器的操作系统上(如Windows和Mac)安装和运行Docker变得非常简单。

 需要注意的是,Windows 10 或 Windows 11 专业版或企业版支持运行 Windows 容器,但是  Windows 家庭版或教育版仅支持运行 Linux 容器。

一、windows环境打包docker镜像

1.下载dockerdesktop

下载地址如下Docker DeskTop安装包

        根据所需版本,圈中的即为适用windows的。

2.安装

        在 Windows 中安装 Docker Desktop 非常简单,下载合适版本的安装程序后,根据图形界面指引就可以轻松安装成功,安装成功后,在cmd指定docker -v,查看安装版本。

C:\Users\dell>docker -v
Docker version 24.0.5, build ced0996

注:安装成功后,登陆可采用github账号,且登陆及后续拉取镜像最好有代理

3.在ides安装docker插件

4.在idea中项目下创建Dockerfile文件(与项目最外层pom通目录)

5.dockerfile介绍

#FROM openjdk:11 基础镜像,基于jdk环境,若需要其他版本按需修改
FROM openjdk:11

#维护者信息
LABEL maintainer="lx@.com"

#对时作用
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

#目录是终端默认在此目录下
WORKDIR /test

EXPOSE 8088
#如果是到文件夹后面必须加上“/”,不然会找不到文件,./代表当前目录即是/test目录,且jar包需写绝对路径,不然找不到
COPY /Jxhs-admin/target/Jxhs-admin.jar ./image/

#启动命令
CMD java -jar ./image/Jxhs-admin.jar

6.idea中配置链接docker服务

其中image tag字段若不填,打出来的镜像的tag会为none

选着docker for windows 会出现connection successful,表示链接本地dockerdesktop应用成功

7.构建镜像

1.idea构建镜像

看到如下图箭头4位置表示构建镜像成功(注意:有时候构建一直不成功,需要先停止docker连接服务,然后再启动),我构建过程中有因为docker file编写问题导致的问题,可以逐一排查

2.对jar包构建镜像

docker build -t encryptvispro .

注意:.代表执行dockerfile,也就是说执行此命令的地址需要有dockerfile,且dockerfile中要准确找到jar包位置,encryptvispro为镜像名称

二、启动镜像

1.打镜像后自动启动

因dockerfile中编写了命令,所以打包后会自动启动

注意事项:注意数据库和redis若原本为localhost或127.0.0.1需要改为当前ip,不然打包后启动不会成功

2.进入dockerdesktop中查看

在dockerdesktop应用选择images可以看到构建的镜像

启动镜像成为容器(1-启动,2-容器命名,3-是访问的端口,4-宿主机和容器挂载的路径可以有多个)

可以看到容器的全部信息,可以对容器终端命令操作和查看各种配置信息,启动,停止,删除容器等

三、windows导出镜像

在windows导出进行,在cmd通过docker images命令查看镜像

注意:通过镜像id导出新镜像的Tag和Respository可能为none

例如,使用镜像ID打包的话导致解压的出来的镜像没有名字

docker save -o redis.tar 7864316753

因此,推荐使用镜像的名字进行打包,例如:

docker save -o redis.tar redis:5.0.2

当REPOSITORY 和TAG为NONE时可以采用命令行对镜像重命名

docker tag [镜像id] [新镜像名称]:[新镜像标签]

导出镜像后就在cmd命令行中的位置。

C:\Users\dell>docker images
REPOSITORY            TAG                      IMAGE ID       CREATED         SIZE
poi                   1.0                      9ae198d48a31   4 minutes ago   175MB
anapsix/alpine-java   8_server-jre_unlimited   49d744fbb526   4 years ago     126MB

C:\Users\dell>docker save -o poiOne.tar 9ae198d48a31

C:\Users\dell>docker save -o poiTwo.tar poi:1.0

C:\Users\dell>

四、导入镜像

下方的poi.tar即为导出镜像时的包

docker load -i poi.tar

五、linux上运行镜像

在linux上将镜像包导出为镜像后

1.查看镜像信息

docker images

镜像信息的名字和版本号可能为空,用上方的docker tag命令对镜像命名。

2.启动镜像

docker run -d --name visproenv1.0 -p 8083:8083 -v /data:/data visproenv:v1.0

这个命令是用于在 Docker 中运行一个名为 "blog:1.0" 的容器,并指定了一些参数配置。

解释一下每个参数的含义:

  • -d: 后台模式(detached mode),容器将在后台运行。
  • --name visproenv1.0: 为容器指定一个名称,此处为 "visproenv1.0"。
  • -p 8083:8083: 将主机的端口 8083 映射到容器的端口 8083。这样,可以通过访问主机的 8083 端口来访问容器中运行的应用程序。
  • -v /data:/data:,将主机的 /data 目录挂载到容器的 /data 目录。这样做可以实现主机和容器之间的文件共享,容器中对 /data的操作会反映到主机上。

visproenv:v1.0: 指定要基于的镜像名称及标签。

3.查看镜像日志

sudo docker logs -f --tail=200 vispro

查看容器的最后200条日志,vispro为容器名称,所以查看前需查看容器信息


总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了打包docker镜像的方式

### 如何在 IntelliJ IDEA 中创建和打包 Docker 镜像 #### 创建 Dockerfile 并配置项目环境 为了使 IntelliJ IDEA 能够支持 Docker 的集成操作,首先需要确保开发环境中已安装并运行了 Docker Desktop 或其他兼容版本的 Docker 引擎。如果未找到合适的 Java 基础镜像,则可以通过命令 `docker search openjdk` 来查找可用的官方或社区贡献的 OpenJDK 镜像[^1]。 接着,在项目的根目录下手动编写或者通过插件自动生成一份名为 **Dockerfile** 的构建脚本文件。此文件定义了容器化应用程序所需的所有依赖项及其设置过程: ```dockerfile FROM openjdk:8-jdk-alpine WORKDIR /app COPY target/your-application.jar app.jar ENTRYPOINT ["java","-jar","/app/app.jar"] ``` 上述示例展示了基于 Alpine Linux 版本的轻量级 JDK 环境作为基础层,并指定编译后的 JAR 文件路径以及启动方式[^3]。 #### 使用 IntelliJ IDEA 插件简化工作流 IntelliJ IDEA 提供了一个强大的内置工具集来帮助开发者更高效地管理其 Docker 工作负载。以下是具体的操作指南: 1. 安装必要的插件——导航至 File -> Settings... -> Plugins 页面搜索 “Docker”,点击 Install 进行安装。 2. 配置连接参数——完成重启之后回到 Preferences 对话框中定位到 Build, Execution, Deployment 下面的 Docker 小节里新增一条指向本地主机上的 Docker Daemon API 的记录。对于 Windows 用户而言,默认情况下应该能够自动检测到 Docker Desktop 应用程序实例的存在;此时界面会显示 Connection Successful 消息提示。 3. 设置 Artifact 输出位置——转回 Project Structure (Ctrl+Alt+Shift+S),切换到 Artifacts 分支选定目标产物形式(例如 Spring Boot Fat Jar),确认最终制品会被放置于 Maven 构建体系所预期的标准输出区域之内。 4. 添加 Run Configuration ——最后一步是从顶部菜单栏选取 Add New Configuration… ,随后挑选 Docker Compose 类型的任务模板进一步定制执行细节比如绑定端口映射关系等等。 #### 推送镜像到远程仓库 当一切准备就绪以后就可以考虑怎样把制作好的镜像分发出去给更多的人使用啦!这通常涉及到两个主要环节:一是授权认证阶段需提供合法用户名密码组合才能获得写入权限;二是实际推送动作本身可通过 GUI 界面发起也可以借助 CLI 实现[^2]: ```bash docker login -u your_username registry.example.com docker tag local_image_name registry.example.com/repository_name:image_version docker push registry.example.com/repository_name:image_version ``` 以上就是关于如何利用 JetBrains PhpStorm 及同类产品家族成员之一 IntelliJ Ultimate Edition 内嵌功能实现自动化部署流程的一个概览说明文档内容总结完毕!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值