把jar打包成镜像
DockerFile
#依賴java8 FROM java:8 #暴露8080 EXPOSE 8080#掛載目錄 VOLUME /tmp #linux 將renren-fast.jar 復制到app.jar #不確定jar名字可以寫*.jar 即為所以 ADD renren-fast.jar /app.jar #更新時間 RUN bash -c 'touch /app.jar' #容器已啟動 默認運行命令 java -jar app.jar #生產環(huán)境啟動 可以寫#容器已啟動 默認運行命令 java -jar app.jar #ENTRYPOINT ["java","-jar","/app.jar","--spring.profiles.active=prod"] #解決OOM問題 指定內存初始128M 最大300M ENTRYPOINT ["java","-jar","-Xms128m","-Xmx300m","/app.jar","--spring.profiles.active=prod"] ENTRYPOINT ["java","-jar","/app.jar"]idea maven 打包
先clean
再install
打成的jar
制作鏡像
將DockerFile 和 jar 上傳到虛擬機
#-f 鏡像規(guī)則 #-t 打成什么樣的鏡像 #. 代表跟dockerFile 同路徑下的上面指定的資源 renren-fast.jar docker build -f DockerFile -t docker.io/jhj/test:v1.0 . #通過以下命令就可以查看到剛剛打包的鏡像 docker images使用
docker-compose
version: '3' services:renren-fast:image: renren/fastports:- "8080:8080"environment:- spring.profiles.active=dev可以將打包好的鏡像推送到遠程倉庫
#登錄遠程 docker login -u name -p password #推遠程 docker push docker.io/jhj/test:v1.0將正在運行的容器打包成鏡像
docker commit -a “l(fā)eifengyang” -m “nginxxx” 容器 id mynginx:GA-2.0 #docker commit [OPTIONS] CONTAINER #[REPOSITORY[:TAG]] #OPTIONS 說明: #1) -a :提交的鏡像作者; #2) -c :使用 Dockerfile 指令來創(chuàng)建鏡像; #3) -m :提交時的說明文字; #4) -p :在 commit 時,將容器暫停不能打包掛載的目錄
如果要進行掛載打包 需要手動編寫dockerFile 然后docker build
舉例如下:
Add會自動解壓
阿里云操作
# 登錄阿里云,密碼就是開通鏡像倉庫時 的密碼 docker login --username=qwertyuiopasdf_aa registry.cn-hangzhou.aliyuncs.com # 拉取鏡像 docker pull registry.cn-hangzhou.aliyuncs.com/atguigumall/gulimall-nginx:v1.0 # 推送鏡像 docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/atguigumall/gulimall-nginx:v1 docker push registry.cn-hangzhou.aliyuncs.com/atguigumall/gulimall-nginx:v1作者聲明
如有問題,歡迎指正!總結
- 上一篇: Guacamole录屏配置
- 下一篇: 《脑机接口导论》学习笔记 2.神经科学基