当前位置:   article > 正文

Java项目基于Docker打包发布_docker打包java项目

docker打包java项目

一、后端项目

1.打包应用

mvn clean package -DskipTests

2、新建dockerfile文件

  1. #基础镜像
  2. FROM openjdk:8
  3. #工作空间
  4. WORKDIR /opt
  5. #复制文件
  6. COPY wms-app-1.0-SNAPSHOT.jar app.jar(add也可以)
  7. #配置容器暴漏的端口
  8. EXPOSE 8080 //不暴露端口使用大P指定端口时访问不到
  9. RUN ls
  10. #强制执行命令
  11. #CMD ["java", "App"](也可以用cmd)
  12. ENTRYPOINT [ "java","-jar","app.jar" ]

CMD 提供容器启动时的默认命令,易于被用户在运行时替换。
ENTRYPOINT 定义容器的核心应用或命令,通常不希望被轻易覆盖,运行时提供的参数将追加到其后。

3.打包镜像(.代表当前目录,输入命令时要进入文件所在目录)

docker build -t mall:v1 .

  4.测试运行

--rm 代表退出之后,容器自动删除

docker run -it --rm beimao:v1

5.阿里云免费私仓

可以把项目发布到阿里云私仓

容器镜像服务 (aliyun.com)

进入网站,点击选择创建个人实例,然后点击创建镜像仓库,填写仓库信息,点击下一步

选择本地仓库,点击创建镜像仓库

根据操作指南进行推送和拉取

例:推送

 二、前端项目

1 、编译打包

npm run build

将打包好的文件放到在opt目录下的新建wms_web/html目录中

2、前端项目 nginx的配置文件default.conf 和 dockerfile

(1)新建default.conf文件

可以使用以下命令进入nginx容器中查看文件,复制原本的进行修改

 例:

  1. upstream wms-app{
  2. server 192.168.11.99:3999;
  3. }
  4. server {
  5. listen 80;
  6. server_name localhost;
  7. #access_log /var/log/nginx/host.access.log main;
  8. location / {
  9. root /usr/share/nginx/html;
  10. index index.html index.htm;
  11. try_files $uri $uri/ /index.html;#解决单页面找不到路径问题 404
  12. }
  13. location /api/ {
  14. proxy_pass http://wms-app;
  15. }
  16. #error_page 404 /404.html;
  17. # redirect server error pages to the static page /50x.html
  18. #
  19. error_page 500 502 503 504 /50x.html;
  20. location = /50x.html {
  21. root /usr/share/nginx/html;
  22. }
  23. # proxy the PHP scripts to Apache listening on 127.0.0.1:80
  24. #
  25. #location ~ \.php$ {
  26. # proxy_pass http://127.0.0.1;
  27. #}
  28. # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  29. #
  30. #location ~ \.php$ {
  31. # root html;
  32. # fastcgi_pass 127.0.0.1:9000;
  33. # fastcgi_index index.php;
  34. # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
  35. # include fastcgi_params;
  36. #}
  37. # deny access to .htaccess files, if Apache's document root
  38. # concurs with nginx's one
  39. #
  40. #location ~ /\.ht {
  41. # deny all;
  42. #}
  43. }

 (2)新建dockerfile

  1. FROM nginx
  2. COPY html /usr/share/nginx/html
  3. RUN rm -rf /etc/nginx/conf.d/default.conf
  4. COPY default.conf /etc/nginx/conf.d/default.conf

1.root:设置静态根目录为 /usr/share/nginx/html

2. index:设置目录的默认文件为 index.html 、index.htm、index.php

3. try_files:设置文件查找规则为 $uri $uri/ /index.html。即3个规则,先从 $uri 查找,再从 u r i / 目录中查找,最后查找 / i n d e x . h t m l 。

3 、构建镜像

docker build -t web:v1 .

4、运行

如果运行时报错,更改了配置文件需要重新build构建镜像,否则使用原来的会继续报错

docker  run -it -p 8086:80  web:v1

结果:可在本地浏览器中访问

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/834715
推荐阅读
相关标签
  

闽ICP备14008679号