当前位置:首页 > CN2资讯 > 正文内容

阅读3 服务器docker 服务器运行docker

6小时前CN2资讯


需求(运维相关)

需要将项目通过镜像发布到服务器中,然后将日志链接到granfa当中去。

所需要的技术以及步骤

技术:

docker命令
auto-config插件的使用
linux环境命令

步骤:

  • 将后端项目通过指定的配置文件进行打包(配置了auto-config插件),命令是
  • mvn clean install -Dmaven.test.skip=true -Dautoconfig.userProperties=/Users/xxx/xxx/application.properties
    后面跟着你的指定配置文件的路径(这里怎么配置这个插件去使用可以自行百度,出了错误就检查哪里写错了就可以了)

  • 打包完成之后需要配置一个Dockerfile去打包镜像,一般通用的dockerfile
  • FROM java:8
    COPY *.jar /app.jar
    CMD ["–server.port=8080"]
    EXPOSE 8080
    ENTRYPOINT [“java”,"-jar",“app.jar”]

  • 通过scp命令去传输这些文件到服务器上去,我这里需要先经过跳板机,所以先传到跳板机然后再传到服务上去,如果显示没有权限的话就可以先传输到/tmp临时的文件存储区,然后再进行发送
  • scp /Users/xxx/Desktop/xxx 服务器地址:/tmp
    如果传输的是一个文件夹的话就加一个-r循环读取就可以了

  • 进入到服务器当中,将Dockerfile和项目的jar包放到一个文件夹里面,然后直接运行docker build打包成镜像,之后run一下就可以制作完成,可以使用-v命令将日志输出挂载到服务器当中,否则就一直在容器当中
  • 前端项目是通过nginx镜像去启动前端项目,需要一个nginx的配置去启动,通用的配置如下
  • server { listen 80; server_name localhost; location ~ ^/xxx/* { proxy_pass http://localhost:8080; } location / { try_files $uri $uri/ /index.html; root /usr/xxx/xxx; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }

    nginx反向代理的配置,将80端口的请求转发到8080端口,打包命令和之前是一样的,只需要启动nginx镜像的时候将这个default.conf挂载到容器当中就可以了
    6. 在前端配置的时候出现的问题:

    直接报403的原因是nginx的默认配置文件nginx.conf当中使用的是user nginx或者是user nobody,会导致没有权限去启动,

    然后就是项目502是因为服务器的seLinux的默认是严谨模式,需要的 /etc/seLinux当中修改conf的seLinux的默认值为disabled,之后需要重启。但是你也可以先暂时将这个关掉,命令是setenforce 0关掉,然后将配置文件的localhost改为服务器的域名,这样就会解决网关限制问题

    具体如何挂载数据卷这类的docker命令大家可以自己去学一下docker,这里就不一一列出来了


      你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/23503.html

      分享给朋友:

      “阅读3 服务器docker 服务器运行docker” 的相关文章