什么是dockerfile?
构建docker镜像的配置文件
用法
#基于什么镜像
FROM alpine
#指定接下来的shell语句运行在哪个路径下。如果指定的那个路径不存在,就会自动创建这个路径
WORKDIR /app
#将宿主机上的文件拷贝到镜像中去
COPY src/ /app
#运行shell语句(构建的时候)
RUN echo 321 >> 1.txt
#指定整个容器启动的时候,需要运行的脚本(容器启动的时候)
CMD tail -f 1.txt
构建镜像:
docker build -t test:1.1 .
-t表示指定镜像的名字为test
1.1是版本
.是dockerfile文件位于当前目录下
运行镜像,让镜像成为一个容器
docker run test
COPY和ADD都可以把外面的路径拷贝到镜像里面去。但是COPY的源地址是文件系统的源地址,ADD的源地址可以是文件系统的源地址或者是url
EXPOSE可以指定当前镜像所暴露出来的端口
CMD和ENTRYPOINT:如果ENTRYPOINT不是json的形式,那就以ENTRYPOINT为主。如果ENTRYPOINT和CMD都是JSON,那就是ENTRYPOIN+CMD拼接成shell
VOLUME /a/b 把容器中的/a/b这个目录,映射到了宿主机目录上
ENV 指定环境变量
ARG 指定构建参数
LABEL key="value" 指定元数据信息,起到一个标识的作用,方便我们通过docker inspect来搜
ONBUILD 当镜像构建的时候不会执行,基于当前镜像的镜像构建的时候才会执行