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