joy-yu / docker-node

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

#docker-node

##一个简单的用Docker来运行Express的学习

  • System:win7 64bit
  • Environent:Docker Toolbox
  • 第一次打开系统会自动创建一个docker主机,就用它来搞事吧。。

运行:

docker-machine  env

###注意最后两句:

Run this command to configure your shell:  
     @FOR /f "tokens=*" %i IN ('docker-machine env') DO @%i  

运行:

@FOR /f "tokens=*" %i IN ('docker-machine env') DO @%i  

创建dockerfile文件:

#通过 FROM 指令来指定基于的image
FROM daocloud.io/node:5

#镜像创建者
MAINTAINER me@yanbingbing.com

#设定环境变量
#ENV HTTP_PORT 3000

#拷贝项目文件,设置工作目录
COPY . /app
WORKDIR /app

#镜像操作指令
RUN npm install --registry=https://registry.npm.taobao.org

#指定端口号,嗨呀因为express设在3000端口
EXPOSE 3000

#Container启动时执行的命令,一个Dockerfile中只能有一条CMD命令,多条则只执行最后一条CMD.
CMD ["npm", "start"] 

根据dockerfile创建一个镜像:

docker build -t test_node .

可通过docker images命令查看所有镜像

通过镜像 test_node 创建一个helloworld容器并运行:

docker run -p 8081:3000 --name helloworld -it test_node /bin/bash

你已经进入容器的里世界了,npm start开启你的express吧~
记得docker-machine env命令里的IP地址咩。。
不记得。。

#访问看看所有容器
docker ps -a 

#bcc是CONTAINER ID前3位,我这是bcc,删了重run
docker rm bcc  

#嗨呀可以地址是:192.168.99.100
docker-machine  env  

打开浏览器访问:192.168.99.100:8081,通过地址的8081端口即可访问啦~

容器的里世界,exit命令就能出来啦~

About


Languages

Language:JavaScript 89.2%Language:HTML 7.9%Language:CSS 2.9%