idea使用docker生成镜像的详细步骤

 更新时间:2024年10月22日 10:57:47   作者:OnE TwO ZerO  
本文详细介绍了在Windows环境下使用Docker Desktop进行Docker镜像的打包、运行、导出以及在Linux系统中的导入操作,重点讲解了如何在Windows中安装Docker Desktop,构建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.构建镜像

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

二、启动镜像

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

总结

到此这篇关于idea使用docker生成镜像的文章就介绍到这了,更多相关idea用docker生成镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Navicat 连接服务器端中的docker数据库的方法

    Navicat 连接服务器端中的docker数据库的方法

    这篇文章主要介绍了Navicat 连接服务器端中的docker数据库,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • seata docker 高可用部署的详细介绍

    seata docker 高可用部署的详细介绍

    这篇文章主要介绍了seata docker 高可用部署的相关知识,通过相关配置文件实现高可用需要依赖注册中心,配置中心,数据库,需要的朋友可以参考下
    2021-07-07
  • 详解使用 docker compose 部署 golang 的 Athens 私有代理问题

    详解使用 docker compose 部署 golang 的 Athens 私有代理问题

    这篇文章主要介绍了使用 docker-compose 部署 golang 的 Athens 私有代理,帮助大家快速学习athens 如何构建私有代理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • Docker前后端项目部署完整步骤记录

    Docker前后端项目部署完整步骤记录

    最近的开发中也确实体会到了这一好处,因为我们项目涉及给客户私有化部署及演示等,使用 Docker 部署,在镜像导出迁移方面很方便,这篇文章主要给大家介绍了关于Docker前后端项目部署的相关资料,需要的朋友可以参考下
    2024-04-04
  • 详解Docker Swarm服务发现和负载均衡原理

    详解Docker Swarm服务发现和负载均衡原理

    这篇文章主要介绍了详解Docker Swarm服务发现和负载均衡原理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • 使用Docker Compose部快速署ELK(亲测有效)

    使用Docker Compose部快速署ELK(亲测有效)

    这篇文章主要介绍了Docker Compose部署ELK的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • Docker数据卷与拦截以及目录拦截详解

    Docker数据卷与拦截以及目录拦截详解

    在Docker中可以使用数据卷目录挂载来将主机上的目录与容器内的目录进行映射,下面这篇文章主要给大家介绍了关于Docker数据卷与拦截以及目录拦截的相关资料,需要的朋友可以参考下
    2024-01-01
  • 使用jib打包docker镜像实战

    使用jib打包docker镜像实战

    这篇文章主要介绍了使用jib打包docker镜像实战,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • MongoDB docker集群配置小结

    MongoDB docker集群配置小结

    本文主要介绍了MongoDB docker集群配置小结,主要包括如何配置MongoDB的三个节点,以及如何使用Docker Compose快速搭建集群,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • 基于docker-compose构建Mongodb副本集的示例详解

    基于docker-compose构建Mongodb副本集的示例详解

    副本集是 MongoDB 高可用性和数据安全性策略的基础,适用于对数据安全性和服务可用性有较高要求的场景,本文给大家介绍了如何基于docker-compose构建Mongodb副本集,文中通过代码示例给大家介绍的非常详细,需要的朋友可以参考下
    2024-01-01

最新评论