首页 > 其他分享 >Dockerfile - 参数与详解

Dockerfile - 参数与详解

时间:2024-05-29 18:45:12浏览次数:10  
标签:SHELL CMD 指定 详解 参数 ENV 镜像 Dockerfile

只有FROM时必须的

# 在当前路径下构建test镜像,执行Dockerfile文件
docker build -t test .

1.FROM

制定基于那个镜像进行构建

FROM alpine:latest

2.WORKDIR

指定工作目录,执行shell脚本的工作目录

WORKDIR /app

3.COPY ADD

复制文件,将宿主机文件拷贝到镜像中

ADD可以是网络资源,并且可以解压;COPY一定是宿主机上的资源

COPY src/ /app

4.RUN

执行的shell脚本,运行在指定的工作目录下,且在镜像构建时运行

RUN echo 321 >> 1.txt

5.CMD ENTRYPOINT

执行的shell脚本,运行在指定的工作目录下,且在容器运行时运行

非json数组按ENTRYPOINT,其他进行拼接

# 阻塞
CMD tail -f 1.txt
CMD ["tail", " -f ", "1.txt"]
# 非阻塞
CMD cat 1.txt
# 在镜像启动过程中也会出现该现象 非阻塞容器会变成stop状态,执行完毕

6.EXPOSE

暴露的端口

# nginx镜像中有
EXPOSE 80

这样可以使用docker run -p -v 来指定端口和存储卷

7.VOLUME

需要挂载的存储卷目录

VOLUME /app/src

8.ENV

指定环境变量

ENV a=10
CMD echo $a

9.ARG

指定构建变量

docker build -t test --build-arg b=12 .

可以在构建时该参数

ARG b=10
ENV a=$b
CMD echo $a

10.LABEL

指定一些标识,一般写在Dockerfile的第二行

LABEL k1="v1" k2="v2"

这样在docker inspect test

可以看到这个label,没有其他作用,就是用来标识的

11.ONBUILD

指定出的变量,是只有基于生成的镜像再进行构建时才会生效

ONBUILD ENV c=100

12.STOPSIGNAL

13.HEALTHCHECK

14.SHELL

指定运行脚本类型

# linux默认的
SHELL /bin/sh
# windows默认的
SHELL cmd
SHELL /bin/bash

标签:SHELL,CMD,指定,详解,参数,ENV,镜像,Dockerfile
From: https://www.cnblogs.com/dkpp/p/18220884

相关文章

  • 栈溢出漏洞利用,详解基本ROP,构造rop链条实现攻击(pwn入门)
    写在前面:随着NX(Non-eXecutable)保护的开启,传统的直接向栈或者堆上直接注入代码的方式难以继续发挥效果,由此攻击者们也提出来相应的方法来绕过保护。目前被广泛使用的攻击手法是 返回导向编程 (ReturnOrientedProgramming),其主要思想是在 栈缓冲区溢出的基础上,利用......
  • 动态规划在图搜索中的应用:Floyd算法详解
    多源汇最短路问题-具有多个源点Floyd算法O(n^3)-动态规划给定一个n个点m条边的有向图,图中可能存在重边和自环,边权可能为负数。再给定k个询问,每个询问包含两个整数x和y,表示查询从点x到点y的最短距离,如果路径不存在,则输出“impossible”。数据保证图中不存在负权回路。......
  • anova 的替代非参数方法
    Kruskal-Wallis测试是一种非参数方法,用于比较三个或更多个独立样本的中位数是否存在显著差异。在R语言中,你可以使用kruskal.test()函数来执行Kruskal-Wallis测试。以下是使用kruskal.test()函数的基本步骤:准备数据:确保你的数据是向量或因子形式,并且每个向量代表一个组。......
  • nginx负载均衡配置详解
    Nginx的负载均衡功能是通过upstream模块来实现的,允许将客户端的请求分发到多个后端服务器,以达到分散负载、提高系统稳定性和响应速度的目的。下面是一些关于Nginx负载均衡配置的详细说明:1.定义UpstreamBlock首先,在Nginx配置文件(通常是/etc/nginx/nginx.conf或者......
  • 详解AI作画原理:从生成对抗网络到卷积神经网络
    人工智能(AI)作画是近年来备受瞩目的领域之一,它不仅为艺术创作带来了全新的可能性,也推动了计算机视觉和深度学习技术的发展。本文将深入探讨AI作画的原理,重点介绍生成对抗网络(GAN)和卷积神经网络(CNN)在作画中的应用,并探讨它们的工作原理以及在实际应用中的优劣势。一.生成对抗......
  • 使用Dockerfile部署go项目
    主旨就是先拉代码,再删旧容器和镜像,再起Dockerfile的容器并执行出go的二进制文件,再运行Dockerfile文件如下FROMgolang:alpine#为我们的镜像设置必要的环境变量ENVGO111MODULE=on\GOPROXY=https://goproxy.cn,direct\CGO_ENABLED=0\GOOS=linux\GO......
  • 企业如何打造通证经济生态闭环详解(上)
    通证经济生态要如何打造,企业怎样能快速切入通证领域?通证经济特性:1、数字权益证明。通证必须是以数字形式存在的权益凭证,它必须代表的是一种权利,一种固有和内在的价值。通证可以代表一切可以数字化的权益证明,从身份证到学历文凭,从货币到票据,从钥匙、门票到积分、卡券,从股票到......
  • 企业如何打造通证经济生态闭环详解(中)
    全球化企业通证积分管理系统中通证积分如何发行?首先提倡的是健康、绿色的通证资产,所有的通证资产不能通过与现金的买卖获得,是通过在平台完成对应的任务获得,是通过奖励的形式释放给用户。主要有哪些形式的任务可以释放通证积分呢,下面小编给大家一一道来。资产发行设置【投资板......
  • 企业如何打造通证经济生态闭环详解(下)
    一、原始账户:用户注册即生成【原始账户】【托管账户】。原始账户用于存储用户所获取的通证积分,原始账户的公钥与私钥由用户所有,安全、私密、去中心化。通过原始账户,用户可进行转账、收款的点对点传输,并可查看资产明细。托管账户:托管账户作为中转账户,私钥由平台代为保管,用户......
  • 机器学习策略篇:详解可避免偏差(Avoidable bias)
    可避免偏差如果希望学习算法能在训练集上表现良好,但有时实际上并不想做得太好。得知道人类水平的表现是怎样的,可以确切告诉算法在训练集上的表现到底应该有多好,或者有多不好,让我说明是什么意思吧。经常使用猫分类器来做例子,比如人类具有近乎完美的准确度,所以人类水平的错误是1%......