文件名必须 Dockerfile
指令 | 作用 |
---|---|
FROM | 指定基础镜像,第一条指令必须是这个 |
MAINTAINER | 指定维护者信息 |
RUN | 在shell终端运行命令 |
COPY | 复制到容器中 |
ADD | 复制到容器中,tar自动解压 |
ENV | 指定环境变量 |
WORKDIR | 设置工作目录 |
USER | 指定运行容器时的用户名 |
VOLUME | 设置卷,挂载主机目录 |
EXPOSE | 声明容器需要暴露的端口号,镜像启动后可以通过-p绑定 |
CMD | 指定容器启动后执行的指令,shell用法和exec用法 |
ENTRYPOINT | 指定容器启动后执行的指令,shell用法和exec用法,shell用法不接受参数,不推荐使用 |
cmd给出的是一个容器的默认的可执行体,
entrypoint才是正统的用于定义容器启动以后的执行体的。
# shell 用法
CMD java -jar xxx.jar
ENTRYPOINT echo # 不接受参数
# exec 用法
CMD ["java", "-jar", "xxx.jar"]
ENTRYPOINT ["java", "-jar", "xxx.jar"]
# 在Dockerfile的目录下,构建镜像
docker build -t 192.168.52.132/test:dev .