配置项目部署到jenkins,出现的问题

配置项目部署到jenkins,出现的问题

# 具体遇到的问题
一、按照视频重新给node后端api,配置Dockerfile,然后上传到gitlab 自动化部署, 部署是成功, 但是docker这边镜像没有运行。

二、这里我有很大的疑问, 前面的pc前台和后面的pc后台用的都是同一个后端api,为什么要重新配置部署啊?

因为我只有一台服务器, 前面视频配置pc后台管理系统的Dockerfile和前台的Dockerfile,端口都一样(80端口,应该要设置不一样的吧?),我上传了,访问不到这个后台PC管理系统, 是要把前台PC站的(Dockerfile端口设置不一样吧?) 

现在感觉问题越来越多? 我原以为就是简单的把后台PC管理系统做个上传,没曾想这么复杂, 真的看不懂了。

三、那个节点的疑问, 是不是只有一台服务器,就不需要分生产和开发, 直接就一个master啊?
# 报错信息的截图

后端api,Dockerfile配置文件

http://img1.sycdn.imooc.com//climg/5f9bd494098698da07630507.jpg

后端api工程文件jenkins运行情况

http://img1.sycdn.imooc.com//climg/5f9bccdd0965103812640796.jpg

http://img1.sycdn.imooc.com//climg/5f9bcce50988474c12860809.jpg

http://img1.sycdn.imooc.com//climg/5f9bccf7099b909112050846.jpg

http://img1.sycdn.imooc.com//climg/5f9bcd0a099344f112050812.jpg

http://img1.sycdn.imooc.com//climg/5f9bcd1909199e9e04790183.jpg

docker 镜像运行情况, 这里api_imooc镜像没有运行,

http://img1.sycdn.imooc.com//climg/5f9bcd53099af4d714850149.jpg

iveiw工程文件的Dockerfile配置文件, 同样也没有运行。

http://img1.sycdn.imooc.com//climg/5f9bce6e099dc26512520908.jpg

现在只有front工程文件是能运行的, front的工程文件运行是跑在11010端口映射80端口上的,front工程文件的问题,还是老的问题, 发出去的请求,端口用的是11010的,我就是葫芦画瓢,我也是把请求端口填的12005,这个问题,我挺绝望。

http://img1.sycdn.imooc.com//climg/5f9bd620097ad53510470943.jpg

http://img1.sycdn.imooc.com//climg/5f9bd6660925677e11060870.jpg



# 相关课程内容截图
http://img1.sycdn.imooc.com//climg/5f9bd440095bc99a09500677.jpg

# 尝试过的解决思路和结果
不知道怎么解决,没有思路,
# 粘贴全部相关代码,切记添加代码注释(请勿截图)

在这里输入代码,可通过选择【代码语言】突出显示

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

一、按照视频重新给node后端api,配置Dockerfile,然后上传到gitlab 自动化部署, 部署是成功, 但是docker这边镜像没有运行。

——使用docker ps来查看一下为什么没有运行,没有运行很可能是运行的时候没有启动起来,找不到入口,执行入口文件失败,从docker logs看看日志


二、这里我有很大的疑问, 前面的pc前台和后面的pc后台用的都是同一个后端api,为什么要重新配置部署啊?

——jenkins是收到gitlab的提交请求后,自动部署该仓库的代码,如果你的api代码没有变化,当然不会自动部署了。


因为我只有一台服务器, 前面视频配置pc后台管理系统的Dockerfile和前台的Dockerfile,端口都一样(80端口,应该要设置不一样的吧?)

——为什么要设置成不一样?先去搞明白Dockerfile中的EXPOSE是什么意思,然后搞清楚docker run中的-p是什么意思。EXPOSE是暴露镜像中的服务的端口,这个端口要与你的node的服务的端口一致。


,我上传了,访问不到这个后台PC管理系统, 是要把前台PC站的(Dockerfile端口设置不一样吧?) 

现在感觉问题越来越多? 我原以为就是简单的把后台PC管理系统做个上传,没曾想这么复杂, 真的看不懂了。

——我没有读懂你要表达什么。


三、那个节点的疑问, 是不是只有一台服务器,就不需要分生产和开发, 直接就一个master啊?

——Jenkins的节点,可以有主节点(一般就是Jenkins自己的那个服务器),其他的节点添加的时候,会让输入节点的名称,你是可以自己去定义这个名称的,你想定义成master就定义成master,想定义成dev就定义成dev,这个主要是在配置任务的时候好去区分


  • 丛从绿草 提问者 #1
    那个EXPOSE,我知道了, 原来这个是做来声明用的, 我以为这个是有用的, 老师是不是每个网站都要用docker run -itd --name $CONTAINER -p $PORT:80 ${image_name}:${tag} ,这个容器80端口做映射啊?
    2020-11-03 23:03:24
  • Brian 回复 提问者 丛从绿草 #2
    你再看看我上面的回复,思考一下你提的这个问题,我的答案是,不是所有的都用80
    2020-11-03 23:16:56
  • 丛从绿草 提问者 回复 Brian #3
    那个前台,我后来用nginx 就解决了这个问题。 我用docker-compose部署了nginx 在nginx镜像内部配置了代理,把后端端口和前端端口都指向代理80端口, 就可以正常访问页面,并能成功发起请求获取数据,暂时成功了。但是,(nginx镜像端口映射的是80,8080,443),我本来想在nginx配置中代理的端口指向到11010端口看看能不能用,然后重启镜像,访问11010端口,发现后端请求还是不行,但页面能访问,然而再次配置代理8080端口, 访问8080的时候,被拒绝访问,页面都访问不了, 我查看了宿主机开放的端口,11010和8080都让开放的。
    2020-11-08 18:39:50
提问者 丛从绿草 2020-11-08 18:40:32
提问者 丛从绿草 2020-11-02 11:38:29

http://img1.sycdn.imooc.com//climg/5f9f7739095f620312690669.jpg

http://img1.sycdn.imooc.com//climg/5f9f7739097e257b12350954.jpg

老师,您好!

    ​这里我在docker-logs  看到了相关错误,  这里提示说 找不到 server.bundle.js,‘

    ​跟这句有关,  我如果用原来的的配置方式, 就没有问题,正常运行。docker镜像也正常跑起来。

为什么用这面这个会跑不起来,就不知道为什么? 

http://img1.sycdn.imooc.com//climg/5f9f7a70092aae6308500529.jpg


  • Brian #1
    找不到bundle.js说明构建失败了,那一长串主要是为了安装bcrypt的,非常不好安装
    2020-11-03 23:12:02
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师