DockerFile
FROM centos
ENV LANG C.UTF-8
COPY java /opt/java
RUN mkdir config
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["/opt/java/bin/java","-Djava.security.egd=file:/dev/./urandom","-jar","app.jar"]
操作步驟
Springboot 製作鏡像
1 環境
要求必須要由docker環境,並且版本爲
目前環境爲root:192.168.3.212
1.1 查看docker版本號
docker --version
2 打包docker鏡像
2.1 複製文件夾
不允許修改/home/springboot 下的任何內容,每個項目複製一個文件夾,/home/springboot類似一個模板。
/home/gs:每個項目一個文件夾
cp -r /home/springboot /home/gs
2.2 進入docker文件夾
cd /home/gs/
2.3 copy jar包
把jar包 複製到/home/gs下
2.4 打成鏡像
aa:鏡像名,每個項目自己命名自己的項目名, 鏡像名只能小寫。
fos.jar是jar包名字
“docker build .”後面必須有一個空格
docker build . -t aa --build-arg JAR_FILE=fos.jar --no-cache
2.5 創建並啓動容器
docker run -d -p 8083:8080 -v /opt/conf:/config aa:latest /bin/bash --name abc
8083:宿主機端口,當端口衝突時,換個名字。
8080:爲服務端口,根據項目自己指定。
/opt/conf:/config:紅色的是本地目錄
--name abc:容器名字
2.6 驗證配置文件目錄
2.6.1 寫入本地磁盤
echo "sdfsfd" > /opt/conf/aa
2.6.2 登陸docker容器
docker ps:查看當前運行的容器
docker exec -it 58014e967dd1 /bin/bash:登陸容器
2.6.3 查看容器裏的aa文件
cat /opt/config/aa
3 驗證
3.1 查看日誌
docker logs 77684fe303a6,查看日誌是否啓動成功。
3.2 訪問地址
8083:宿主機端口
4 導出鏡像
4.1 保存
docker save -o 項目名.tar 鏡像名
4.2 導入
docker load < springadmin.tar
5 例外
5.1 注意事項
copy 裏的源目錄必須在當前目錄裏
5.2 前後端分離項目
把項目copy到 webapps下
打開Dockerfile
#當有靜態文件項目時,刪除#,修改staticDir 爲真實目錄
#COPY staticDir /opt/tomcat9/webapps/
5.3 鏡像啓動端口被佔
docker run -d -p 8083:8080 -v /opt/conf:/opt/config aa:latest /bin/bash --name abc
8083:修改宿主機端口爲其他端口。