使用dockerfile构建一个简单的镜像

一、Dockerfile是什么?

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

二、构建镜像

构建镜像有两种方法:

       使用docker commit命令

       使用docker build 命令和Dockerfile文件

方法2的构建步骤:

1)将需要构建的文件的压缩包或者文件本身,放在一个空文件夹下。

2)设置Dockerfile文件

  1. 在步骤1中的文件夹下创建Dockerfile文件
  2. 编辑Dockerfile文件
  3. 在文件中添加内容

 #指定基础镜像,基础镜像只能指定一个

FROM ******

#MAINTAINER:提供镜像作者联系方式等信息

#RUN :每条RUN指令都会创建一个新的镜像层,如果指令执行成功,就会将镜像层提交,之后继续执行Dockerfile中的下一个指令

#EXPOSE:指定容器的要使用的端口

#ENTRYPOINT: 表示运行指令,如果不在Dockerfile中写的话,在命令框中写入。

 

备注:Dockerfile文件名一般默认写成Dockerfile,但并不要求一定得为Dockerfile,也不一定必须在需要构建的压缩文件下,例如接下来会讲的,使用-f指定dockerfile的位置以及名字:-f ../Dockerfile.php

3)执行构建

      1.cd 进入步骤1中的文件夹,使用该文件夹中的Dockerfile文件进行构建。

      2.sudo docker build –t **** ./    (其中****为新构建的镜像的命名)

     例如:

$ sudo docker build -t test/bert-step:v1 ./

仓库名:版本号。仓库名经常以两段式出现(路径形式)

若Dockerfile的名字不为Dockerfile以及不在该目录文件下,则使用-f 指定要使用的Dockerfile路径和名称,如果就在dockerfile所在的文件夹则无需指定-f。

$ sudo docker build -f ../Dockerfile.php -t test/bert-step:v1 ./

build后:

这样,就表示构建成功,否则构建失败。 

4)查看构建结果

docker images

docker history ****

docker inspect ****

5)启动容器

docker run –d name cat1 –p 8080:8080 ****

docker ps –a

docker logs cat1

我通常使用的运行命令:

sudo docker run -it --rm -v $(pwd):/workspace --test/nlp:v1.0.0

有些时候需要确保构建过程不会使用缓存。可以使用docker build 的 --no-cache标志。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值