0


idea基于docker desktop 打包镜像

idea基于docker desktop 打包镜像

安装 docker desktop

我的是windows10, 从官网下载的 docker desktop 无法安装, 报错:

We've detected that you have an incompatible version of Windows.
Docker Desktop requires Windows 10 Pro/Enterprise/Home version 19044 or above.
To continue with the installation, upgrade Windows to a supported version and then re-run the installer.

这个提示表明你的 Windows 版本不符合 Docker Desktop 的最低要求。
Docker Desktop 要求运行的 Windows 版本是 Windows 10 Pro、Enterprise 或 Home 版本,
并且版本号需要是 19044 或以上。

下面的连接, 可以下载旧版本的 docker desktop , 可以正常安装

国内docker desktop镜像下载
【全面详细】Windows10 Docker安装详细教程

安装完成后, 等下idea需要通过Docker for windows选择来链接docker环境生成镜像

idea 安装docker 插件

在这里插入图片描述

创建Dockerfile文件

在项目根目录创建文件夹: docker
在文件夹下创建文件: Dockerfile

# 项目运行需要jdk环境, 会先拉取一个jdk镜像
FROM openjdk:8-jre
# 镜像的维护人
LABEL maintainer="vxdata"

# 指定时区为亚洲/上海
ENVTZ=Asia/Shanghai
# 设置容器的时区为亚洲/上海,并且将此时区信息写入了 /etc/timezone 文件
RUN ln -snf /usr/share/zoneinfo/$TZ/etc/localtime && echo $TZ>/etc/timezone

# 创建数据卷
VOLUME/home/vxdata
# 创建容器内的目录
RUN mkdir -p /home/vxdata
# 设置容器的工作目录为 /home/vxdata,所有后续的命令都会在这个目录下执行。
WORKDIR/home/vxdata

# 复制主机上Dockerfile目录下得jar到容器内
COPY./ruoyi-admin.jar /home/vxdata/ruoyi-admin.jar
# 创建容器内的目录
RUN mkdir -p /home/vxdata/logs

# 定义了容器启动时默认执行的命令
CMD["java","-Xss2M","-jar","ruoyi-admin.jar",">>","/home/vxdata/logs/out.txt","2>>","/home/vxdata/logs/error.txt"]

将jar包复制到 Dockerfile 同一目录

打开Dockerfile文件目录, 进入cmd,执行命令

# 我这里使用的是相对路径,你可以根据你得项目结构自行更改
copy "..\..\ruoyi-admin\target\ruoyi-admin.jar".

为idea配置docker环境

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

构建镜像

在这里插入图片描述
打开Dockerfile文件目录, 进入cmd,执行命令

docker build -t kg-image:1.0.1 .

解释
kg-image  docker的REPOSITORY
1.0.1     docker的TAG
.         当前目录下的Dockerfile文件

执行结果

D:\Program Files\JetBrains\work\gitlab\知识谱图\docker\jar>docker build -t kg-image:1.0.1 .[+] Building 2.3s (11/11) FINISHED
 =>[internal] load build definition from Dockerfile                                                               0.0s
 =>=> transferring dockerfile: 952B                                                                               0.0s
 =>[internal] load .dockerignore                                                                                  0.0s
 =>=> transferring context: 2B                                                                                    0.0s
 =>[internal] load metadata for docker.io/library/openjdk:8-jre                                                   0.0s
 =>[1/6] FROM docker.io/library/openjdk:8-jre                                                                     0.0s
 =>[internal] load build context                                                                                  2.1s
 =>=> transferring context: 299.85MB                                                                              2.1s
 => CACHED [2/6] RUN ln-snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&echo Asia/Shanghai > /etc/timezo  0.0s
 => CACHED [3/6] RUN mkdir-p /home/vxdata                                                                         0.0s
 => CACHED [4/6] WORKDIR /home/vxdata                                                                              0.0s
 => CACHED [5/6] COPY ./ruoyi-admin.jar /home/vxdata/ruoyi-admin.jar                                               0.0s
 => CACHED [6/6] RUN mkdir-p /home/vxdata/logs                                                                    0.0s
 => exporting to image                                                                                             0.0s
 =>=> exporting layers                                                                                            0.0s
 =>=> writing image sha256:0e42a9e01330eea9622eb57adac43322b71783eed723e85c2e4ac6e574800479                       0.0s
 =>=> naming to docker.io/library/kg-image:1.0.1                                                                  0.0s

Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them

D:\Program Files\JetBrains\work\gitlab\知识谱图\docker\jar>docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
kg-image     1.0.1     0e42a9e01330   42 minutes ago   573MB
openjdk      8-jre     0c14a0e20aa3   20 months ago    274MB

保存Docker 镜像为 tar 文件

保存镜像到当前目录

docker save -o kg-image.tar kg-image:1.0.1
docker save 是 Docker 命令,用于将 Docker 镜像保存到一个文件中。
-o kg-image.tar 指定了输出文件的名称为 kg-image.tar,-o 参数用于指定输出文件。
kg-image:1.0.1 指定了要保存的 Docker 镜像的名称及标签。

导入镜像到生产环境

docker load -i kg-image.tar

启动镜像

#!/bin/bashdocker run -d\--name kg \-p8080:8080 \-v /home/vxdata/uploadPath:/home/vxdata/uploadPath \-v /home/vxdata/logs:/home/vxdata/logs \-v /home/vxdata/application.yml:/home/vxdata/application.yml \
  kg-image:1.0.0

# 检查容器启动日志echo"检查容器启动日志..."sleep3# 等待几秒钟以确保容器已启动docker logs kg

本文转载自: https://blog.csdn.net/weixin_42725397/article/details/137689561
版权归原作者 RunwayLoli 所有, 如有侵权,请联系我们删除。

“idea基于docker desktop 打包镜像”的评论:

还没有评论