关于docker部署的一个简单应用(入门级别)
2015-01-22 15:24
369 查看
介绍几个简单的docker 命令:docker images#显示当前的镜像列表docker pull <image>#下载官方纯净版本的镜像 eg:docker pull ubuntu#下载Ubuntu的最新版本的最小镜像(纯净)docker push <image>#上传自己的镜像到官网
docker run <image>#以当前镜像为模板运行一个容器
docker ps#显示当前的运行的容器
[code]docker logs <container>#在执行docker run命令之后,可以通过该命令查询相应的输出
docker rm <container>#移除当前不运行的容器
docker rmi <image>#移除选中的镜像
docker commit <container> <image>#将运行容器刻录为镜像上面介绍的命令足够我们完成下面的例子:$docker run -it --name hello ubuntu echo "hello world!"
hello world!
$docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
99f10f31838f ubuntu:latest "echo 'hello world!' 6 seconds ago Exited (0) 5 seconds ago hello
这样成功的完成了第一个例子,接下来在docker中部署一个js应用
1、$docker pull fedora#这是从官网下载一个纯净的镜像
2、$docker images#显示你当前有的镜像
3、$docker run -it fedora /bin/bash #运行一个交互的容器
4、root@*******:/#yum install npm #Fedora Docker镜像安装Node
5、 root@*******:/#npm install express -g#安装Express 框架
[code]6、 root@*******:/#exit#退出容器
[code]7、$docker commit ****** yourname/fedora#将当前的容器保存为镜像,以便后续使用
[code]$docker images #这样你的镜像就多了yourname/fedora这一项[/code]
接下来,你在的主机创建/src/webapp这样一个目录
具体操作:
$sudo mkdir -p /src/webapp
$sudo cd /src/webapp
$sudo gedit app.js
在弹出的编辑框中填入以下内容:
[code][code]var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337); //注意这边不能和官网示例那样监听127.0.0.1 console.log('Server running at #保存并退出[/code]现在我们已经把我们需要的东西都准备好了,镜像' target='_blank'>http://0.0.0.0:1337/');#保存并退出[/code]现在我们已经把我们需要的东西都准备好了,镜像yourname/fedora;待部署文件 /src/webapp/app.js
现在我们就部署我们第一个web应用:
$docker run -i -d -p 1337:1337 --name nodeapp -v /src/webapp:/var/webapp yourname/fedora node /var/webapp/app.js
得到一串container id ******
#这样你就后台运行一个容器,这个容器监听主机的1337号端口
$docker port nodeapp #查看当前容器的端口映射1337/tcp ->0.0.0.0:1337 #该容器监听主机的1337端口号
最后可以通过浏览器访问 http://localhost:1337 或者 在终端输入 curl http://localhost:1337
[code]输出:Hello World
相关文章推荐
- Kubernetes入门指南:部署一个Node.js Docker应用 — SitePoint
- 关于多个应用在同一个server中部署时出现cookies被覆盖的解决方案
- 百度地图API入门——(4)用Jetty搭建一个简单的多终端可访问的地图应用站点
- 关于Swing 包的一个简单应用
- 使用nRF51822/nRF51422创建一个简单的BLE应用 ---入门实例手册(中文)之四
- 使用nRF51822/nRF51422创建一个简单的BLE应用 ---入门实例手册(中文)之四
- V8 JavaScript Engine 入门指南 3 -- 一个简单的V8应用
- 使用nRF51822/nRF51422创建一个简单的BLE应用 ---入门实例手册(中文)之一
- 使用nRF51822/nRF51422创建一个简单的BLE应用 ---入门实例手册(中文)之一
- 使用nRF51822/nRF51422创建一个简单的BLE应用 ---入门实例手册(中文)之三
- 使用nRF51822/nRF51422创建一个简单的BLE应用 ---入门实例手册(中文)之三
- Asp.Net MVC3 简单入门第一季(五) 通过Asp.Net MVC的区域功能实现将多个MVC项目部署到一个站点
- 一个简单的jsp和servlet应用(入门之选)
- 使用nRF51822/nRF51422创建一个简单的BLE应用 ---入门实例手册(中文)之二
- 小程序大问题,MSDN中一个小小示例所带来的疑问,一个关于DataList的一个简单应用
- 【CXF】使用CXF部署一个最简单的WebService应用
- 一个简单WEBSERVICE应用的开发、部署、及各部分意义
- 一个关于AOP简单应用的好博客地址
- 使用nRF51822/nRF51422创建一个简单的BLE应用 ---入门实例手册(中文)之一
- 使用nRF51822/nRF51422创建一个简单的BLE应用 ---入门实例手册(中文)之三