[Docker] Hooking a Volume to Node.js Source Code

Normally when you create a Volume, it will store in Docket Host, you can also tell the folder which you want docket to store the volume.

docker run  -p 8080:3000 -v /var/www node # run with a node image

You can check the volume information by:

docker inspect <container_id>

In the output JSON, you need to find "Mount" prop, it contains the information.

If you want to create a custom folder to store the volme, you can do:

docker run  -p 8080:3000 -v $(pwd):/var/www node

Remove container with volume:

docker rm -v <container_id>

------

We can create a node express app and put that into docker with volume.

npm i -g express express-generator

Create an express app:

express ExpressSite --hbs

Cd to the project and put souce code into docker, meanwhile we want to npm ‘npm start‘ as well.

# create a volume: -v
# $(pwd): current path, means you want to create volume in your folder
# -w: current working directory "/var/www"
# start the image node
# run script: npm start

docker run  -p 8080:3000 -v $(pwd):/var/www -w "/var/www" node npm start

原文地址:https://www.cnblogs.com/Answer1215/p/10632600.html

时间: 2024-10-24 14:59:20

[Docker] Hooking a Volume to Node.js Source Code的相关文章

docker+mysql(8.0.15)+node.js(hapi.js)构建容器(命令行)

安装docker, 准备一个node.js项目,项目中包含数据库配置. 一.将node.js项目创建为image 在项目中创建.dockerignore文件和dockerfile文件(https://github.com/hanxiaoer1992/docker_nodejs_cmd) cd 项目文件夹下(cd ....../docker_nodejs_cmd) docker image build -t dockertest:0.0.1 . 二.拉取mysql docker pull mysq

Docker 生成Node.js web app(含端口映射)

1.新建目录src,并进入src目录 [[email protected] Documents]$ mkdir src [[email protected] Documents]$ cd src/ 2.创建package.json和index.js文件,文件内容如下: package.json [[email protected] Documents]$ mkdir src [[email protected] Documents]$ cd src/ [[email protected] src

Node.js连接本地Docker中的Redis

Docker 1.Pull redis docker pull redis 2.创建容器,指定容器端口 docker run -p 56379:6379 redis * -p参数指定Host访问容器的端口,冒号左边为Host对应的端口,冒号右边为容器中Redis服务监听端口 Node.js 1.npm安装redis npm install redis 2. 创建app.js编写代码连接Redis var redis = require('redis');var client = redis.cr

Docker常见仓库Node.js

Node.js 基本信息 Node.js是基于 JavaScript 的可扩展服务端和网络软件开发平台. 该仓库提供了 Node.js 0.8 ~ 0.11 各个版本的镜像. 使用方法 在项目中创建一个 Dockerfile. FROM node:0.10-onbuild # replace this with your application's default port EXPOSE 8888 然后创建镜像,并启动容器 $ sudo docker build -t my-nodejs-app

当Node.js遇见Docker

Node.js Best Practices - How to Become a Better Developer in 2017提到的几点,我们Fundebug深有同感: 使用ES6 使用Promise 使用LTS 使用Docker ... 想必大家都知道ES6,Promise以及LTS,那Docker是啥玩意啊?翻遍Node文档也没见踪迹啊! GitHub仓库: Fundebug/nodejs-docker 什么是Docker? Docker是最流行的的容器工具,没有之一.本文并不打算深入介

使用 StatsD + Grafana + InfluxDB 搭建 Node.js 监控系统

在石墨,我们之前使用 ELK 搭了一套监控图表,由于一些原因,比如: 1.Kibana 经常查日志查挂2.Kibana 的图表不太美观.不够灵活所以调研了一下,选择用 StatsD + Grafana + InfluxDB 搭建一套新的监控系统. 工具简介 StatsD 是一个使用 Node.js 开发的简单的网络守护进程,通过 UDP 或者 TCP 方式侦听各种统计信息,包括计数器和定时器,并发送聚合信息到后端服务,例如 Graphite.ElasticSearch.InfluxDB 等等,这

Docker的数据管理(volume/bind mount/tmpfs)

Docker提供了三种不同的方式用于将宿主的数据挂载到容器中:volumes,bind mounts,tmpfs volumes.当你不知道该选择哪种方式时,记住,volumes总是正确的选择. volumes是Docker数据持久化机制.bind mounts依赖主机目录结构,volumes完全由Docker管理.Volumes有以下优点: Volumes更容易备份和移植. 可以通过Docker CLI或API进行管理 Volumes可以无区别的工作中Windows和Linux下. 多个容器共

Node.js综述

前言 本综述文章旨在帮助读者深入理解下Node.js的本质,不去关注应用的细节,我认为真正的技术问题只有在动手写代码的时候才会遇到,那个阶段解决问题才是真正有意义的. 发展史 Node.js是Ryan Dahl 2009年对外发布的开源醒目,后来该项目被Joyent公司注意到并于2010年成为Joyent公司的一个子项目.2016年微软与Joyent公司合作,Node.js在windows上得到支持. 目前Node.js的版本为V6.11,周围已经形成了一个庞大的生态系统. 特性分析 Node.

在Node.js中使用RabbitMQ系列一 Hello world

在前一篇文章中可伸缩架构简短系列中提到过关于异步的问题.当时推荐使用RabbitMQ来做任务队列的实现方案.本篇文章以Node.js为例子,来实际操作如何和RabbitMQ进行交互. 介绍 RabbitMQ是一个消息代理.它最初的思想特别简单:接受并且转发消息.你可以将它想象为邮局:当你将邮件放到信箱中,你可以非常肯定快件员最终会将邮件交到接受人手中.你可以把RabbitMQ比喻为信箱.邮局和快递员.RabbitMQ和邮局之间主要的区别是它不处理纸张,而是接受.存储和转发二进制数据?消息. 在R