dockerfile中指定启动文件不生效_Docker 镜像构建之 Dockerfile

本文详细介绍了Dockerfile的常用指令,包括FROM, LABEL, RUN, ADD, COPY, EXPOSE, ENV, CMD, ENTRYPOINT, WORKDIR, VOLUME等,并通过实例演示了如何构建镜像。在实践中,提到了.Dockerignore文件的作用,以及如何通过docker build命令构建镜像。此外,还讨论了ENTRYPOINT和CMD的区别,以及如何使用构建的镜像创建容器。" 107255107,8814872,Java流操作数据库:Speedment实战,"['数据库', 'java', 'mysql']
摘要由CSDN通过智能技术生成

858fe78b8d32e69391c5adfafb273767.png

在 Docker 中构建镜像最常用的方式,就是使用 Dockerfile。Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。官方文档:https://docs.docker.com/engine/reference/builder/

Dockerfile 常用指令

FROM

语法:FROM <image>:<tag>

指明构建的新镜像是来自于哪个基础镜像,如果没有选择 tag,那么默认值为 latest。

FROM centos:7
如果不以任何镜像为基础,那么写法为:FROM scratch。官方说明:scratch 镜像是一个空镜像,可以用于构建 busybox 等超小镜像,可以说是真正的从零开始构建属于自己的镜像。

~~MAINTAINER~~(deprecated)

语法:MAINTAINER <name>

指明镜像维护者及其联系方式(一般是邮箱地址)。官方说明已过时,推荐使用 LABEL。

MAINTAINER mrhelloworld <mrhelloworld@126.com>

LABEL

语法:LABEL <key>=<value> <key>=<value> <key>=<value> ...

功能是为镜像指定标签。也可以使用 LABEL 来指定镜像作者。

LABEL maintainer="mrhelloworld.com"

RUN

语法:RUN <command>

构建镜像时运行的 Shell 命令,比如构建的新镜像中我们想在 /usr/local 目录下创建一个 java 目录。

RUN mkdir -p /usr/local/java

ADD

语法:ADD <src>... <dest>

拷贝文件或目录到镜像中。src 可以是一个本地文件或者是一个本地压缩文件,压缩文件会自动解压。还可以是一个 url,如果把 src 写成一个 url,那么 ADD 就类似于 wget 命令,然后自动下载和解压。

ADD jdk-11.0.6_linux-x64_bin.tar.gz /usr/local/java

COPY

语法:COPY <src>... <dest>

拷贝文件或目录到镜像中。用法同 ADD,只是不支持自动下载和解压。

COPY jdk-11.0.6_linux-x64_bin.tar.gz /usr/local/java

EXPOSE

语法:EXPOSE <port> [<port>/<protocol>...]

暴露容器运行时的监听端口给外部,可以指定端口是监听 TCP 还是 UDP,如果未指定协议,则默认为 TCP。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值