Dockerfile 所有指令

ADD source dest //复制文件到容器内
ARG name=defaultValue 
ARG name  
//ARG指令用以定义构建时需要的参数
EXPOSE port //端口映射
ENV key=value //为后续的RUN指令提供一个环境变量,我们也可以定义一些自定义的变量 
WORKDIR /the/workdir/path     //用于指定容器的一个目录, 容器启动时执行的命令会在该目录下执行
RUN command //用于指定 docker build 过程中要运行的命令。
USER daemon //指定运行容器时的用户名或 UID,后续的 RUN 也会使用指定用户。使用USER指定用户时,可以使用用户名、UID或GID,或是两者的组合。当服务不需要管理员权限时,
//可以通过该命令指定运行用户。并且可以在之前创建所需要的用户
SHELL [ "executable" ]//
STOPSIGNAL signal 
//默认的stop-signal是SIGTERM,在docker stop的时候会给容器内PID为1的进程发送这个signal,通过--stop-signal可以设置自己需要的signal,
//主要的目的是为了让容器内的应用程序在接收到signal之后可以先做一些事情,实现容器的平滑退出,如果不做任何处理,容器将在一段时间之后强制退出,
//会造成业务的强制中断,这个时间默认是10s
LABEL key="value" //LABEL指令添加元数据到一个镜像。一个镜像可以有多个label,每一个label都会生成一个新的镜像层
VOLUME [ "/data" ] //创建容器内部挂载点,通过 VOLUME 指令创建的挂载点,无法指定主机上对应的目录,是自动生成的
ENTRYPOINT [ "executable" ]//类似于 CMD 指令,但其不会被 docker run 的命令行参数指定的指令所覆盖,
CMD [ "executable" ] //类似于 RUN 指令,用于运行程序,但二者运行的时间点不同;CMD 在docker run 时运行,而非docker build
//如果 dockerfile 中如果存在多个CMD指令,仅最后一个生效;
//CMD 指令的首要目的在于为启动的容器指定默认要运行的程序,程序运行结束,容器也就结束;注意: CMD 指令指定的程序可被 docker run 命令行参数中指定要运行的程序所覆盖。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值