Dockerfile 构建镜像,常用的指令

这篇博客详细介绍了Dockerfile中常用的指令,包括FROM用于指定基础镜像,MAINTAINER定义维护者,RUN执行命令构建新镜像,CMD设置默认启动命令,EXPOSE暴露服务端口,ENV设置环境变量,ADD和COPY复制文件,ENTRYPOINT配置启动命令,VOLUME创建挂载点,WORKDIR设定工作目录,USER指定运行用户,以及ONBUILD设置后续镜像构建指令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建镜像的语法:
FROM 指定基础镜像的来源
格式 FROM <image>:<tag>
第一条指令必须为FROM,并且, 如果在同一个dockerfile中创建多个镜像时,可以使用多个FROM(每个镜像一次)

MAINTAINET
格式 MAINTAINET <name>
MAINTAINER 作者 指定维护者

RUN
格式 RUN <command> 或者 RUN [" “,” "] 执行的是sh命令
每条命令将在当前镜像基础上执行 并提交为新的镜像

CMD
格式 CMD <command> 或者 CMD [" “,” "] 执行命令exec 一个dockerfile只有一个

若有多条,只执行最后一条

EXPOSE

EXPOSE <port> 告诉服务暴露端口 在容器启动时需要通过-p 做端口映射

ENV
格式 ENV <key>\ <value> 添加环境变量

指定环境变量会被RUN指令使用 并在容器运行时保存

ADD
格式 ADD <src> <des\t> 添加镜像文件 会自动解压
src 可以是dockerfile的相对路径,或URL,或 tar.gz

COPY
格式 <src> <dest> 复制宿主机src 到容器中的dest

ENTRYPOINT
格式 ENTRYPOINT ["",""] 配置容器启动后执行的命令 并且不可被docker run 提供的的参数覆盖
只能有一个,多个执行最后一个

VOLUME
格式 VOLUME ["",""] 创建一个可以从本地主机或其他容器挂载的挂载点,一般用来存放数据库

WORKDIR
格式 WORKDIR /home 设置为(RUN ,CMD ,ENTRYPOINT)工作路径
可以有多个

USER
指定运行容器时的用户或UID

ONBUILD
格式 ONBUILD [instruction] 配置当前所创建的镜像作为其他的新创建镜像的基础镜像时,所执行的操作指令

dockerfile 示例:

FROM python:3.8.5-alpine

# 设置国内源
RUN pip install --no-cache-dir pqi
RUN pqi use aliyun

WORKDIR /usr/src/app
COPY ./igv.js-flask-master/ /usr/src/app/
RUN cd /usr/src/app/ && pip install --no-cache-dir -r requirements.txt

#EXPOSE 80
# ADD . ./
# RUN ls -l

CMD /usr/local/bin/python  /usr/src/app/run.py
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值