镜像
1. 上下全文
dockerfile 是构镜像的主要方法,在执行 docker build imagesname .的时候,通常带上’.’,它代表构建环境的上下文,’.’代表当前目录所有文件目录,并在形成镜像的时候传递给守护进程。尽量传递必要的文件,如果实在没必要,可以使用.dockerignore,这样就会忽略文件中标记的内容。
2. 镜像层
build dockerfile ,执行build 命令,每一命令都会创建一个新的镜像层包加在上一个镜像上,这个新的镜像层,会被run 成一个临时容器,如果这个临时容器没报错,接着会保存成新的镜像,并且将临时容器删除,然后继续执行下一个命令,类推。
使用 docker history imagename,查看镜像的所有层。因为镜像的层级性,当build出错的时候,只要尝试获取出错的临时容器id并执行就可以查找错误
docker run -it '临时容器id'
3. 缓存
docker 会将每一个镜像层缓存下来,但是使用缓存要满足==》上一个缓存能够在缓存中找到,除了镜像层指令一样,父层也完全相同。
docker build --no-cache 设置缓存失效
4. 基础镜像
优先使用官方基础镜像