前面 使用 Docker 部署 Node 应用 一文中完成了镜像的创建和运行,不过生成的镜像还有些粗糙,需要进一步优化. 镜像的优化 通过 docker images 看到简单的一个 node 服务端应用,超过 1G 大小,因此需要优化一下使其更加轻量. 通过如下命令查看镜像文件里都有什么文件以及分别占用的空间大小: $ docker history --human --format "{{.CreatedBy}}: {{.Size}}" wayou/my-app CMD ["…
准备: 需要5个文件 新建一个docker文件夹 1 .ignore git忽略文件用的 2 pakage.json 安装NODE程序的 也可以直接拷贝进 docker文件加 3 node环境 linux版本 4 node程序 5 dockerfile配置文件 package可以有也可以没有 此处分为两种: 一种是node程序在git上 一种是直接拷贝到docker程序中 为了简便我用的是第二种 dockerfile配置如下: FROM centos:latest ENV NPM_CONFIG_…
一.harbor介绍 在实际生产运维中,往往需要把镜像发布到几十.上百台或更多的节点上.这时单台Docker主机上镜像已无法满足,项目越来越多,镜像就越来越多,都放到一台Docker主机上是不行的,我们需要一个像Git仓库一样系统来统一管理镜像.这里介绍的是一个企业级镜像仓库Harbor,将作为我们容器云平台的镜像仓库中心. Habor是由VMWare公司开源的容器镜像仓库.事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性…
容器将应用与环境打包整合,解决了应用外部依赖的痛点,打包后通过窗口可方便地部署到任意环境,用过就知道很香. 创建示例应用 以 NestJS 为例,先创建一个示例应用. $ npm i -g @nestjs/cli $ nest new my-app $ cd my-app $ yarn && yarn start   然后 app.controller.ts 中添加如下 action: @Get('ping') async ping() { return 'pong'; }   测试一把会…
1.dockerfile FROM node:14.16.0 RUN mkdir -p /var/log/lily/ RUN mkdir -p /opt/node # 工作目录 WORKDIR /opt/node # COPY . /opt/node RUN npm set registry https://registry.npm.taobao.org/ \ && npm install pm2 -g \ && npm install # 使用pm2管理 CMD [&qu…
拉取镜像 docker pull registry:2.6.2   生成账号密码文件,这里采用htpasswd方式认证 docker run --rm --entrypoint htpasswd registry:2.6.2 -Bbn admin 123456 > /data/k8s/registry/auth/htpasswd 备注:该账号密码是在登录私库和访问api接口的时候也需要,上述就是生成一个带账号为admin,密码为123456的加密htpasswd文件   配置文件 cat <&…
之前笔者弄了一套nestjs项目放在自己服务器上,并用pm2管理进程. 现在要把pm2停止,尝试一下用docker容器,那么首先要安装docker 一.安装docker 由于笔者服务器的系统是centos7,所以这里写的是在centos7上安装docker: 注:Docker 要求 CentOS 系统的内核版本高于 3.10 我们可以用以下命令来查看centos版本 uname -r 确定centos内核版本高于3.10后,接下来开始安装: 1.安装所需的软件包 yum-utils 提供了 yu…
搭建nodejs运行环境,使用了node容器运行 1.安装运行node image docker pull node:latest docker run -itd --name mynode node 2.准备将编译后的代码上传到主机上 3.编写dockerfile并制作镜像 s # 引用镜像FROM node:latest# 作者 MAINTAINER hzh # 执行命令,创建文件夹 RUN mkdir -p /var/publish/nest# 将nestapi目录拷贝到镜像里,也可用CO…
Maven+Docker 部署 安装jdk8镜像 docker pull openjdk:8-jdk-alpine maven插件推送方式 修改/etc/docker/daemon.json文件,加入hosts配置即可. 注意 使用本地docker构建,不要用的生产服务器上,这种方式容易被别人注入木马 本地局域网 192.168.10.222 { "hosts":["tcp://0.0.0.0:2375","unix:///var/run/docker.s…
1. FastDFS简介   FastDFS是一个开源的分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件(建议:4KB ~ 500MB)为载体的在线服务,如相册网站.视频网站等等.   FastDFS系统有三个角色:跟踪服务器(Tracker Server).存储服务器(Storage Server)和客户端(Client).   Tracker Server:跟踪服务器,主要负责Group和Sto…