docker 镜像
一、概念理解
1、镜像构建上下文
Docker在运行时分为Docker引擎(服务端守护进程)和客户端工具,Docker引擎提供了一组RESTAPI,被称为Docker Remote API,而如Docker这样的客户端工具,则是通过这组API与Docker引擎交互,从而实现各种功能。因此我们使用的docker指令,实际是调用Docker引擎的API完成,这种特性使我们操作远程服务器的Docker引擎变得轻而易举
docker build指令进行镜像构建时,并非在本地构建镜像,而是在Docker引擎完成。因此,Docker引擎不能一开始就访问本地的文件路径,需要引入上下文。在构建镜像的时候,用户指定镜像上下文的路径,docker build命令知道这个路径以后,会将这个路径下的所有内容打包,然后上传给Docker引擎。这样Docker引擎收到这个上下文包后,展开就会获得构建镜像所需的一切文件。
一般来说,应该会将Dockerfile置于一个空目录下,或者项目根目录下。如果该目录下没有所需文件,那么应该把所需要的文件复制一份过来。如果目录下有些文件是不希望构建的时候传给Docker引擎,那么可以使用".dockerignore"文件,来定义需要忽略的文件。
可以使用 docker build -f fileName ... 来指定Dockerfile文件,如果不指定,默认会使用上下文目录下的名为 Dockerfile 的文件作为Dockerfile
二、docker build的用法
docker build URL # 从URL下载内容,进项镜像构建,例如从git服务器下载
docker build https://github.com/twang2218/gitlab-ce-zh.git#:8. 14
docker build http://server/context.tar.gz #用给定的tar压缩包构建
浙公网安备 33010602011771号