Docker打包镜像
前置工作
1.虚拟机中配置好docker环境,并导入nginx,mysql,jdk的镜像
2.下载docker for windows
用idea打包镜像和创建容器需要这个东西支持
下载安装包后执行,无脑回车即可
3.idea中配置docker连接
完成配置后,点开docker连接,可以看到如下内容
简单介绍一下,可以通过镜像创建容器。
镜像相当于一个配方,容器相当于菜肴,通过一个秘方可以创建无数个菜肴,同理:通过指定镜像可以创建无数个容器。
每个容器相当于一个小型linux机器,它只包含最基本的功能(内核级功能),用一句话形容就是:麻雀虽小五脏俱全。
4.将我们的工程打成一个jar包
1.首先,修改pom文件中的skip标签的值为false
否则他会跳过打包我们的启动类,在执行java -jar时会报如下错误
2.执行命令 mvn -clean mvn -package
也可以在界面执行
打包好会生成一个target文件夹,我们的jar包在这个文件夹里面
两种打包镜像的方式
手动打包(不推荐,应急情况下使用)
1.写Dockerfile文件
# 基于jdk17以上 的镜像创建
FROM openjdk:17-jdk-alpine
# 将编译后的文件复制到镜像中,用于运行
# 参数1 jar包所在位置(目录+文件名)
# 参数2 给这个jar起别名 用别名是为了移植方便
ADD target/TestDockerDB01-0.0.1-SNAPSHOT.jar /app.jar
# 设置启动命令
ENTRYPOINT ["java","-jar","/app.jar"]
2.将jar包和Dockerfile文件通过ftp工具上传到虚拟机
3. 通过命令打包镜像
命令格式:
docker build -t 镜像名:版本号 Dockerfile所在的地址
执行命令报错,这是因为当我们把jar包移到虚拟机后,它所在的位置就不是target/TestDockerDB01-0.0.1-SNAPSHOT.jar了
这时候我们通过vi Dockerfile去修改文件
再一次检查一下jar包和Dockerfile文件的位置,重新执行命令
创建镜像成功
idea中也能看到我们刚刚创建的镜像
通过idea打包
回到Dockerfile文件,进行配置
把Dockerfile跑起来,这里我们选择第一个,创建镜像和容器
创建成功后会自动启动容器