关于docker部署的一个简单应用(入门级别)

介绍几个简单的docker 命令:

docker images#显示当前的镜像列表

docker pull <image>#下载官方纯净版本的镜像 eg:docker pull ubuntu#下载Ubuntu的最新版本的最小镜像(纯净)

docker push <image>#上传自己的镜像到官网

docker run <image>#以当前镜像为模板运行一个容器
docker ps#显示当前的运行的容器	
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
5root@*******:/#npm install express -g#安装Express 框架
6root@*******:/#exit#退出容器
7、$docker commit ******  yourname/fedora#将当前的容器保存为镜像,以便后续使用
$docker images #这样你的镜像就多了yourname/fedora这一项

接下来,你在的主机创建/src/webapp这样一个目录
具体操作:
$sudo mkdir -p /src/webapp
$sudo cd /src/webapp
$sudo gedit app.js
在弹出的编辑框中填入以下内容:
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 http://0.0.0.0:1337/');
#保存并退出
现在我们已经把我们需要的东西都准备好了,镜像 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
输出:Hello World

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值