使用dockerfile将应用镜像化,及error context checking错误解决方法。

1.Dockerfile的用途

Dockerfile的作用:Dockerfile用于指导docker完成应用的容器化。
一个简单的Dockerfile内容。

# Test web-app to use with Pluralsight courses and Docker Deep Dive book
# Linux x64
FROM alpine

LABEL maintainer="nigelpoulton@hotmail.com"

# Install Node and NPM
RUN apk add --update nodejs nodejs-npm

# Copy app to /src
COPY . /src

WORKDIR /src

# Install dependencies
RUN  npm install

EXPOSE 8080

ENTRYPOINT ["node", "./app.js"]

FROM指令:指定容器的基础镜像,每一个dockerfile必须以该条指令开头(回忆镜像的分层)。

LABEL指令:用于标明该镜像的维护者是谁,并不是必须的,用处不大。

RUN 指令:基于当前层镜像,在此之上新建一个镜像层,并在该镜像层中,执行命令。

ADD指令:该指令将nodejs和nodejs-npm添加到当前镜像层中。

EXPOSE 指令:将该应用的端口号设置为8080。

ENTRYPOINT 指令:该镜像的入口程序,并不会新增镜像层。

2 使用Docker命令构建镜像

docker image build -t xxx . // . is important

.的含义:.表示docker使用当前目录作为构建上下文。这个目录与shell的工作目录一样,不是docker的工作目录。

-t的含义:为镜像取小名。

在使用这条命令构建镜像时,一定要将dockerfile置于应用的目录下,然后使用cd命令进入该应用目录,并且确保该目录下没有其他与应用无关多余的其他文件或文件夹,否则docker很可能抛出error context checking异常,致使无法构建镜像。

build命令执行完毕后,仅仅只是本地镜像,需要使用push命令将镜像推送至docker hub上,push之后,就能够方便快捷的使用该镜像了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值