docker run 命令可以快速的运行镜像容器,基础镜像一般在共有仓库都可以pull下来。那如何构建自己的镜像呢,可以通过dockerfile来构建镜像,一般情况下也都是四部分组成,基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令主要参数如下:
1.FROM 指定所创建镜像的基础镜像,如果本地不存在,则默认会去Docker Hub 下载指定镜像。
2.MAINTAINER 指定维护者信息,格式为MAINTAINER<name>。 该信息会写入生成镜像的Author属性域中。 3.RUN运行指定命令。 每条RUN指令将在当前镜像的基础上执行指定命令,并提交为新的镜 像。 4.CMD CMD指令用来指定启动容器时默认执行的命令。 5.LABEL LABEL指令用来指定生成镜像的元数据标签信息。
6.EXPOSE 声明镜像内服务所监听的端口。
7.ENV 指定环境变量,在镜像生成过程中会被后续RUN指令使用,在镜像启动 的容器中也会存在。 8.ADD 该命令将复制指定的<src>路径下的内容到容器中的<dest>路径下。路径支持正则格式 9COPY 复制文件 10.ENTRYPOINT 指定镜像的默认入口命令,该入口命令会在启动容器时作为根命令执行,所有传入值作为该命令的参数。 11.VOLUME 创建一个数据卷挂载点。 可以从本地主机或其他容器挂载数据卷,一般用来存放数据库和需要保 存的数据等。 12.USER 指定运行容器时的用户名或UID,后续的RUN等指令也会使用指定的用户 身份。 格式为USER daemon。 13.WORKDIR 为后续的RUN、CMD和ENTRYPOINT指令配置工作目录。
14.ARG 指定一些镜像内使用的参数(例如版本号信息等 15.ONBUILD 配置当所创建的镜像作为其他镜像的基础镜像时,所执行的创建操作指 令。
16.STOPSIGNAL指定所创建镜像启动的容器接收退出的信号值。例如: STOPSIGNAL signal 17.HEALTHCHECK 配置所启动容器如何进行健康检查(如何判断健康与否),自Docker
18.SHELL 指定其他命令使用shell时的默认shell类型。
本来里面记录了很多参数的,可能因为论坛设置的安全字符过滤防跨站脚本。放上去帖子就发不了。。。。。 |