总览
各种命令的解释,基本够用,命令是从上往下执行顺序的,FROM命令和CMD命令需要放在dockerfile的开头和结尾,并且只能执行一次,而其他命令都是可以中间执行多次的
# FROM命令 基于哪个基础镜像
FROM ubuntu-base:0.2
# WORKDIR命令 切换工作目录
WORKDIR /tmp
# ENV命令 添加环境变量,内容可为空
ENV TMP_PATH=/tmp \
PKGS_FOLDER=pkgs \
URL=
# ADD拷贝命令 将test目录拷贝到 /tmp/pkgs
ADD test $TMP_PATH/$PKGS_FOLDER
# RUN命令 执行程序
RUN apt-get update --allow-insecure-repositories
# RUN命令
RUN rm -rf $TMP_PATH/$PKGS_FOLDER
# EXPOSE 暴露端口,不加的话可能 docker api 指定端口的 nat 无效,但是不影响 docker run 直接指定端口号
EXPOSE 80
# CMD命令 设置开机启动
CMD ["/usr/bin/bash","-c","/root/test.sh"]
COPY命令和ADD命令区别
COPY命令和COPY命令和ADD命令ADD命令都是拷贝命令,用法均为
COPY src(外界目录) des(docker容器内目录)
ADD src(外界目录) des(docker容器内目录)
但是ADD的src可以使用URL,会帮你主动下载文件,并且ADD的src的压缩文件(如.gz等)会帮你自动解压,但是不能下载并解压,如果只是单纯拷贝文件COPY就行