01-Docker实战,搭建NodeJs环境
目的
实现简单的docker的nodejs容器,使用Dockerfile构建我们的使用nodejs开发的系统
技术栈
- Docker
- Nodejs
- Express
- Linux
step1 下拉nodejs基础容器 node:
本次我需要使用基础alpine操作系统构建的node基础容器

step2 创建项目文件夹
创建一个空目录,并且创建如下文件
root@ubuntu-docker:/server/nodejs# ls
Dockerfile package.json server.js

Dockerfile内容
FROM node:6.10.2-alpine
ADD . /server/www/
WORKDIR /server/www/
RUN cd /server/www && npm install
EXPOSE 3001
CMD ["node","server.js"]
package.json内容
{
"name": "docker-node-hello",
"private": true,
"version": "0.0.1",
"description": "Node.js with docker",
"author": "zhaojunlike@gmail.com",
"dependencies": {
"express": "3.2.4"
}
}
server.js app的入口文件
var express = require('express');
// Constants
var PORT = 3001;
// App
var app = express();
app.get('/', function (req, res) {
res.send('Hello World\n');
});
app.listen(PORT)
console.log('Running on http://localhost:' + PORT);
step3 build
使用以下命令来构建node-app容器
#docker build -t node-hello ./

step4 运行测试
root@ubuntu-docker:/server/nodejs# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
node-hello latest 58a5182bd055 40 seconds ago 56.34 MB
root@ubuntu-docker:/server/nodejs# docker run -d -p 3001:3001 node-hello
0af03634720b3572e860b9d353fd140b88f729e938713f3c4fc694cfda3ec065
root@ubuntu-docker:/server/nodejs# curl localhost:3001
Hello World
root@ubuntu-docker:/server/nodejs#
作者:Godtoy
链接:https://www.jianshu.com/p/022aadc70c80
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
01-Docker实战,搭建NodeJs环境的更多相关文章
- spring boot / cloud (十八) 使用docker快速搭建本地环境
spring boot / cloud (十八) 使用docker快速搭建本地环境 在平时的开发中工作中,环境的搭建其实一直都是一个很麻烦的事情 特别是现在,系统越来越复杂,所需要连接的一些中间件也越 ...
- linux -- ubuntu搭建nodejs环境
需求:在web端做一个实时性功能比较强的模块, 客户端:用websocket 服务端:node.js node.js介绍:node.js天生就是一个高效的服务端语言,可以直接使用 javascript ...
- 使用Docker快速搭建ELK环境
今天由于Win系统的笔记本没带回家,其次Docker在非Linux系统下都需要安装额外的软件去镜像才行 所以感觉没有差别,先直接用Mac搭建一遍呢, 本篇部分命令和配置内容为摘抄 Mac下使用Dock ...
- 搭建Nodejs环境 创建Express应用
1. Nodejs Nodejs是一种服务器端js脚本运行环境: Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎 2. Express开发框架 极简的web框架,完全是由路 ...
- docker中搭建jenkins环境
想在docker中搭建一个jenkins环境.开始的时候我想在先pull centos,然后在里面自己搭建环境,搭建后的环境可以运行,但是不知道挂载哪的数据,这也是我不熟悉jenkins的原因. 同事 ...
- Linux之旅-ubuntu下搭建nodejs环境
.NET Core也开源了,并且可移植到Linux下,而ubuntu作为linux发行版的翘楚,极大的方便了初学者的入门,搭建完ASP.NET Core运行环境后,作为半前半后的开发人员,就继续着搭建 ...
- TensorFlow(1):使用Docker镜像搭建TensorFlow环境
1,关于TensorFlow TensorFlow 随着AlphaGo的胜利也火了起来. google又一次成为大家膜拜的大神了.google大神在引导这机器学习的方向. 同时docker 也是一个非 ...
- 使用docker快速搭建hive环境
记录一下使用docker快速搭建部署hive环境 目录 写在前面 步骤 安装docker 安装docker 安装docker-compose 配置docker国内镜像源(可选) 安装git & ...
- Docker 实践搭建php环境
docker 安装 使用官方提供的安装脚本,安装最新版的Docker curl -sSL https://get.docker.com/ | sh 安装完成后,通过如下命令启动Docker的守护进程, ...
- 使用docker快速搭建本地环境
在平时的开发中工作中,环境的搭建其实一直都是一个很麻烦的事情 特别是现在,系统越来越复杂,所需要连接的一些中间件也越来越多. 然而要顺利的安装好这些中间件也是一个比较费时费力的工作. 俗话说" ...
随机推荐
- VS Code 之KoroFileHeader插件
设置 在vscode左下角点击设置按钮,选择"设置",然后输入"fileheader", 文件头部注释:Fileheader:custom Made 函数注释: ...
- getSessionFactory().openSession()导致druid连接池中的连接都占用满但无法回收
该问题产生的现象 页面刷新几次后,就卡住,线上就得需要重新部署(还好是测试环境,不是真正生产环境) 过程及原因 查看日志线程池满了 Caused by: org.springframework.jdb ...
- Django 连接数据库 MySQL
一.Django 连接 MySQL 修改 settings.py 文件 # 默认用的是sqlite3 # Database # https://docs.djangoproject.com/en/4. ...
- Kubernetes Operator: CRD
Custom Resource Define 简称 CRD,是 Kubernetes(v1.7+)为提高可扩展性,让开发者去自定义资源的一种方式.CRD 资源可以动态注册到集群中,注册完毕后,用户可以 ...
- java基础二、类与继承
员工类 Employee, 经理类:Manager public class Employee { private String name; private double salary; privat ...
- 第三周python作业
import datetime mot = ["今天星期一:\n坚持下去不是因为我很坚强,而是因为我别无选择.", "今天星期二:\n含泪播种的人一定会笑着收." ...
- Jquery封装的ajax的使用过程发生的问题
Jquery封装的ajax的使用过程发生的问题 今天在做项目的时候使用到了ajax来完成项目前后端数据交互,在之后发现在前端没有数据显示,而后端数据确实存在,在多次检查代码之后,发现代码并不存在问题, ...
- Do not use “@ts-ignore” because it alters compilation errors的解决办法
在@ts-ignore上面添加一行代码: // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore
- Go的网络编程详解
一 互联网协议介绍 1.1互联网分层模型 互联网的逻辑实现被分为好几层.每一层都有自己的功能,就像建筑物一样,每一层都靠下一层支持.用户接触到的只是最上面的那一层,根本不会感觉到下面的几层.要理解互联 ...
- linux操作系统运行一个java程序并外网访问
(一)安装jdk 1.新建文档java : mkdir java 2.进入java并且下载jdk 下载jdk : wget --no-check-certificate --no-cooki ...