用dcker極簡打包java.jar鏡像并啟動
一、本地打包好jar包
二、新建文件夾,將步驟1中的jar包拷貝到文件夾下
三、同目錄下新建Dockerfile
## 基礎鏡像,這里用的是openjdk:8
FROM openjdk:8## 將步驟一打包好的jar包 拷貝到鏡像的 跟目錄下[目錄可以自定義/jar包名字也可以自定義]
COPY /your-java.jar /your-java.jar## 在鏡像啟動容器后執行,這里為啟動java服務
CMD ["java","-jar","-Dlogging.file.path=/data/web_log/java","-Dfile.base.path=/data/files/your-java","your-java.jar"]
四、定位到步驟二所在的目錄,執行docker image build .腳本,構建鏡像
輸出參考:
五、查看打好的鏡像:docker images
六、用tag指令給鏡像命名與標記版本,執行:docker image tag 1908bae47993 your_java:v1,再查看鏡像列表,得到如下:
七、啟動容器:docker run --name your-java -d -p 7991:7991 your_java:v1,輸出容器的id
docker ps – 查看啟動中的容器
docker ps -a --查看所有容器
狀態為Up 容器啟動成功
可以執行如下命令查看容器日志:
docker logs 8b4104b5b59f – 8b4104b5b59f為需要查看日志的容器編號
或者
docker logs your-java – your-java 為容器啟動時指定的–name
或者執行命令docker exec -it your-java bash進入容器,找到日志對應的文件地址,在構建鏡像時指定文件目錄位置為:/data/web_log/java,參考如下:
輸入:exit退出容器,回到主機
九、將本地鏡像打包成tar包,方便無鏡像倉庫模式傳輸
- docker save 鏡像名字:版本號 > /root/打包名字.tar
- docker save -o /root/打包名字.tar
鏡像名字:版本號
本次嘗試使用1,執行:docker save your_java:v1 > /Users/xxxxxx/data/your-java-image.tar
十、將tar包加載為鏡像
docker load < /Users/xxxxxx/data/your-java-image.tar