docker与Dockerfile编写
参考
·
Dockerfile文件
1.基本指令
- 学习新东西最好的方式就是看着实例去学习:
指令 | 含义解释 |
---|---|
FROM | ROM debian:stretch表示以debian:stretch作为基础镜像进行构建 |
RUN | 可以看出RUN后面跟的其实就是一些shell命令,通过&&将这些脚本连接在了一行执行,这么做的原因是为了减少镜像的层数,每多一行RUN都会给镜像增加一层,所以这里选择将所有命令联结在一起执行以减少层数 |
ARG | 特地将这个指令放在RUN之后讲解,=这个指令可以进行一些宏定义==,比如我定义ENV JAVA_HOME=/opt/jdk,之后RUN后面的shell命令中的${JAVA_HOME}都会被/opt/jdk代替 |
ENV | 它和ARG基本上一样,用于在shell中设置一些环境变量; |
FROM…AS… | 这是Docker 17.05及以上版本新出来的指令,其实就是给这个阶段的镜像起个别名:FROM …(基础镜像) AS …(别名),在后面引用这个阶段的镜像时直接使用别名就可以了 |
COPY | 就是用来来回复制文件的,COPY . /root/workspace/agent表示将当前文件夹(.表示当前文件夹,即Dockerfile所在文件夹)的所以文件拷贝到容器的/root/workspace/agent文件夹中。通过–from参数也可以从前面阶段的镜像中拷贝文件过来,比如–from=builder表示文件来源不是本地文件系统,而是之前的别名为builder的容器 |
WORKDIR | WORKDIR /root/workspace/agent;在执行RUN后面的shell命令前会先cd进WORKDIR后面的目录 |
ENTRYPOINT | ENTRYPOINT [“docker-entrypoint.sh”];这个参数表示镜像的“入口” |
更多推荐
已为社区贡献3条内容
所有评论(0)