关于后端:把一个node网站服务docker容器化使用dockercompose一键安装管理

咱们有一个iOS ipa托管平台,其性能相似fir.im 和蒲公英的托管平台,只是性能很繁多,就是上传下载性能

为了服务稳定性,曾经拓展到多台打包机更不便,咱们应用docker对立治理,这里记录容器化过程

Dockerfile文件编写

首先将网站工程代码拿到本地,放到一个ferris_wheel文件夹下, 这个文件夹同级目录创立Dockerfile文件,因为工程是node工程,因而镜像咱们抉择node:latest

FROM node:latest
LABEL maintainer="lichanghong"
WORKDIR /ferriswheel
COPY ./ferris /ferriswheel
ENTRYPOINT ["npm", "start"]

docker-compose.yml服务编写

  packing_ferris:
      build: ./ferris_wheel
      container_name: packing_ferris
      hostname: packing_ferris
      user: root
      volumes:
        - /Users/lch/Desktop/ferris:/ferriswheel/upload:rw
      restart: always
      networks:
        - packing_net

功能测试

间接执行docker-compose up -d ,node不存在就会主动执行docker pull拉取镜像,期待拉取实现。后果拉取太慢始终失败,于是删除docker下载最新版本,再去阿里云来个减速,而后执行飞速胜利!

想到俩问题:
1,工程的端口用的是3003,现有的打包机通过什么映射到80的
2,iOS下载必须要用https,这个现有性能通过什么搭建的
3,本地如何测试整个流程

定位端口映射

首先mac自带的apache并没有开启,查到brew装置了nginx,通过brew info nginx 查到配置入口/usr/local/etc/nginx/
在这个目录下找到了nginx配置的443端口映射到3003端口,并且域名和ssl证书都在这里配置

最初就是本地如何测试整个性能,先依照打包机nginx服务配置,在本地docker中的nginx镜像中也配置一下,而后本地跑起来看看成果,最终测试胜利!

论断

把一个node网站服务docker容器化,应用docker-compose一键装置治理,不仅易扩大,最次要的是易保护

文章最后发版在合伙鸭官方网站

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理