最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

002-dockerfile部署java项目

来源:博客园

1. dockerfile展示

注意,这里是将DockerFile 配置文件放到了maven项目目录内,和pom.xml同级目录。

自动检测的文件名为Dockerfile,使用-f指定dockerfile文件路径

# Download codeFROM bitnami/git:2 AS gitRUN mkdir -p /home/app/srcRUN git -c http.sslVerify=false -C /home/app/src clone -b local https://github.com/test.git## Build & package stage#FROM maven:3.8.1-jdk-11-slim AS buildCOPY --from=git /home/app/src/settings/settings.xml /root/.m2/settings.xmlCOPY --from=git /home/app/src /home/app/srcRUN mvn -X -f /home/app/src/websit/pom.xml clean package -Dmaven.test.skip=true clean package -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ignore.validity.dates=true -Dspring.cloud.nacos.username=only_read -Dspring.cloud.nacos.password=nacos## Runtime eviroment#FROM openjdk:11-jre-slimCOPY --from=build /home/app/src/websit/demo.jar /usr/local/lib/demo.jarEXPOSE 9090ENTRYPOINT ["java","-Duser.timezone=Asia/Shanghai","-DSpring.profiles.active=pro","-Dspring.cloud.nacos.username=only_read","-Dspring.cloud.nacos.password=nacos","-jar","/usr/local/lib/demo.jar"]

这是一个多步骤的dockerfile,第一步git下载代码,第二步使用maven进行打包,第三步将运行时环境准备好,并设置命令java -jar ***.jar来在容器启动时启动服务。


(资料图片仅供参考)

2. 新建镜像

docker build官方文档

docker build [OPTIONS] PATH | URL | -·

docker build -f dockerfile -t kanban:0.0.1 .也可以直接从代码仓拉去dockerfiledocker build --no-cache -f demo/demo.dockerfile https://github.com/CICD.git

Name,shorthanddefaultdescription
--build-argSet build-time variables
--file,-fName of the Dockerfile (Default is "PATH/Dockerfile")
--memory,-mMemory limit
--rmtrueRemove intermediate containers after a successful build
--tag,-tName and optionally a tag in the "name:tag"format

3. 部署容器

docker run -d -it -p 9965:9962 kanban:0.0.1

去掉-d可以用来测试,但是退出时会关闭容器。

-i: 保持标准输入打开,默认为false;

-t: 是否分配一个伪终端,默认为false;

docker exec -it 594 /bin/bash

ssh 方式接入容器

关键词: 这是一个 标准输入 自动检测