使用Dockerfile定制镜像:
From制定基础镜像
所谓定制镜像,一定是以一个镜像为基础的,在其上进行定制,基础镜像是必须指定的,而From就是指定基础镜像,因此一个docker镜像里面From是必备指令,并且必须是第一条指令,在DokerHub上面有非常多的高质量的官方镜像,有直接可以拿来使用的服务类的镜像,如Nginx,redis,mysql,tomcat;可以在期中寻找一个最符合我们目标的镜像伟基础镜像进行定制。
如果没有找到对应服务的镜像,官方还提供了一些更为基础的操作系统镜像,如ubuntu,debain,centos,alpine,这些操作系统镜像伟我们提供了广阔的空间。
Run执行命令
COPY:
格式:
COPY<源路径>...<目标路径>
COPY["源路径",..."<目标路径>"]
COPY指令将从构建上下文目录中<源路径>的文件/目录复制到新的一层的镜像内的<目标路径>位置,比如:
COPY package.json /usr/src/app
<源路径>可以是多个,甚至可以是通配符,如:
COPY home* /mydir/
COPY home?.txt /mydir/
CMD容器启动命令:
CMD指令的格式和RUN相似,也是两种格式:
shell格式:CMD<命令>
exec格式:CMD["可执行文件","参数1","参数2"...]
参数列表格式:CMD[“参数1”,"参数2"...].在指定ENTRYPOINT指令后,用CMD指定具体的参数。
Docker不是虚拟机,容器就是进程,既然是进程,那么在启动容器的时候,需要指定所有运行的程序以及参数,CMD指令就是用于指定默认的容器主进程启动命令的。