Docker(三)Dockerfile命令及springboot項目構建


一.Dockerfile常用命令

 

 

 

 

 

二.Dockerfile構建sringboot項目並以非root用戶運行鏡像

1.編寫Dockerfile文件

FROM openjdk:8
ARG USER_ID=140
ARG GROUP_ID=500
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone
RUN groupadd ftp
RUN useradd -d /home/newuser -g ftp ftp
RUN groupmod -g ${GROUP_ID} ftp
RUN usermod -u ${USER_ID} ftp
ADD wxrealtimerefund.jar /home/newuser/app.jar
RUN chmod 777 /home/newuser/app.jar
RUN mkdir -p /home/newuser/
RUN chown -R ftp:ftp /home/newuser/
VOLUME [/home/newuser]
WORKDIR /home/newuser
EXPOSE 8080
USER ftp
ENTRYPOINT ["java","-jar","/home/newuser/app.jar"]

2.將springboot項目打包成jar包,上傳到linux上。

 

 *Dockerfile最好新建一個新文件夾,不要放在根目錄下,構建鏡像的時候會把Dockerfile目錄的所有下級目錄上傳,會很慢

3.構建鏡像

 docker build -t  refund06  .        --refund06  是構建的鏡像名稱   不要忘記后面.  這個.代表當前目錄

4.運行鏡像

docker run --name refund06 -p 8080:8080 -v /opt/project/online:/home/newuser/logs --add-host centos_1318:172.16.7.111  -d   refund06

--add-host   向hosts文件添加域名映射

--name       給容器起個名字

-p           向外部暴露端口

-d           以守護進程運行

-v           將項目產生的日志目錄掛載到宿主機目錄,方便日志查看

*/opt/project/online這個目錄提前在宿主機上創建並修改所有者和所屬組,要不然鏡像啟動就會失敗,報沒有權限的錯誤

cd /opt/project

chown -R ftp:ftp online/

chmod 777 -R online/

5.通過docker ps 查看啟動的容器

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM