Docker部署Node应用简单实践】的更多相关文章

前面 使用 Docker 部署 Node 应用 一文中完成了镜像的创建和运行,不过生成的镜像还有些粗糙,需要进一步优化. 镜像的优化 通过 docker images 看到简单的一个 node 服务端应用,超过 1G 大小,因此需要优化一下使其更加轻量. 通过如下命令查看镜像文件里都有什么文件以及分别占用的空间大小: $ docker history --human --format "{{.CreatedBy}}: {{.Size}}" wayou/my-app CMD ["…
容器将应用与环境打包整合,解决了应用外部依赖的痛点,打包后通过窗口可方便地部署到任意环境,用过就知道很香. 创建示例应用 以 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…
1. 拉取SqlServer2019镜像 sudo docker pull mcr.microsoft.com/mssql/server:2019-latest 2. 创建容器+挂载: sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=Xu123456' -p 1433:1433 --name sqlserver2019 --net mynetwork --ip 172.18.0.3 -v /home/xujk/Work/Docke…
先介绍利用的两个数据卷挂载的规则,这对于理解挂载mysql数据库存储非常有帮助. 如果挂载一个空的数据卷到容器中的一个非空目录中,那么这个目录下的文件会被复制到数据卷中. 如果挂载一个非空的数据卷到容器中的一个目录中,那么容器中的目录中会显示数据卷中的数据.如果原来容器中的目录中有数据,那么这些原始数据会被隐藏掉. mysql数据库物理存储位置/var/lib/mysql MySQL: 拉取镜像 $docker pull mysql:5.7 运行容器 $docker volume create…
之前笔者弄了一套nestjs项目放在自己服务器上,并用pm2管理进程. 现在要把pm2停止,尝试一下用docker容器,那么首先要安装docker 一.安装docker 由于笔者服务器的系统是centos7,所以这里写的是在centos7上安装docker: 注:Docker 要求 CentOS 系统的内核版本高于 3.10 我们可以用以下命令来查看centos版本 uname -r 确定centos内核版本高于3.10后,接下来开始安装: 1.安装所需的软件包 yum-utils 提供了 yu…
前言 写作本文的背景是由于字节的暑期青训营中,某个项目要求编写一个简易的流处理引擎(flink),开发语言不限,推荐Java,本着好奇心的驱使,我打算使用Go语言进行部分尝试. 既然是流处理引擎,那么首先需要有流式的数据源,一般而言,flink会配合从kafka中获取数据流,先不考虑后续编写引擎的部分,本文将着重于kafka的部署,并且后半段将给出使用Go语言编写kafka的生产者和消费者. 如果你只是希望完成kafka的部署,而不想局限于Go语言,只需要着重阅读文章的前半部分,后文的Go语言操…
最近在部署Node.js程序时,写了段简单的脚本,发觉还挺简单的,忍不住想与大家分享. 配置文件 首先,本地测试环境和生产环境的数据库连接这些配置信息是不一样的,需要将其分开为两个文件存储 到config目录下,比如: 开发环境配置文件config/development.js: module.exports = { port: 3001, mysql: { user: 'root' } }; 生产环境配置文件config/production.js: module.exports = { po…
因为一些原因,接触到了docker,经过一番研究,总算是有了一些自己的看法,有什么不对的地方,希望多多指教. 废话不多说,首先我这里使用的虚拟机安装的是ubuntu16.04版本,其他版本应该也可以. 当初在学习时查了很多资料,也看了很多同仁的博客,参考了https://blog.csdn.net/WANTED_Shanks/article/details/79815022 的内容,他做的是centos 7 版的,有很多共通之处: 一.Ubuntu 16.04 安装 Docker 1.选择国内的…
前言:由于Docker部署容器时,没有指定IP,当机器重启后,容器的IP会变化,所以在创建容器的时候,最好能固定IP:同时,在Ubuntu系统中,每次执行命令,都需要root权限,命令需要加sudo标识,可以设置为免sudo执行docker命令. 1. 创建自定义网络,可以在创建容器的时候,使用该网络固定ip 输入命令:sudo docker network create --subnet=172.18.0.0/16 mynetwork 三台虚拟机分别创建: Ubuntu-1:sudo dock…