构建镜像 docker build

两种方式:

  • Dockerfile
  • 手动创建:运行已有镜像容器,运行命令,退出容器,把最终状态作为新镜像

以创建node.js应用为例讲解dockerfile创建

1 app.js

const http = require('http')
const os = require('os')

console.log("Kubia server starting...")

var handler = function(request, response) {
  console.log("Received request from " + request.connection.remoteAddress);
  response.writeHead(200);
  response.end("You've hit " + os.hostname() + "\n");
};

var www = http.createServer(handler);
www.listen(8080);

功能:在8080启动http服务器,打印请求的IP,并以状态码200和you’ve hit 来响应每个请求

2 Dockerfile 需要和app.js在同一目录

FROM node:7   # 指定基础镜像,必须为第一个命令
ADD app.js /app.js   # 把本地app.js添加到镜像的根目录,并保持app.js这个文件名
ENTRYPOINT ["node", "app.js"]  # 定义了当镜像运行时,需要被执行的命令,为node app.js。仅能有一个

链接: dockerfile文件详解.
在这里插入图片描述
3 docker build -t kubia .
基于当前目录( . )构建一个叫kubia的镜像,Docker会在目录中寻找Dockerfile,然后基于其中的指令构建镜像
基于Dockerfile构建一个新的容器镜像
注:
(1)docker客户端和守护进程不要求在同一台机器上,如在非linux系统中使用docker,客户端运行在宿主机操作系统上,守护进程运行在一个虚拟机内
(2)构建目录中的文件要被上传到守护进程中,因此不要包含不需要的文件,会减慢构建速度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值