下龙山一号楼

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  11 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

dockerfile:

1) FROM  : FROM 镜像指令指明了当前镜像继承的基镜像,编译当前镜像时会自动下载基镜像 ,如果不指定映像url 则从docker hub 上获取。 e.g : FROM ubuntu 

2) MAINTAINER :MAINTAINER 指令 指定了当前镜像的作者及联系方式。e.g : MAINTAINER: caiqiufang

3)RUN : RUN 指令可以在当前镜像上执行Linux  命令并形成一个新的层,RUN 是编译时(build) 的动作,在docker 命令中运行的shell 命令,等价于docker run <image> <command> 示例可以是如下两种,CMD 和 ENTRYPOINT也是如此 e.g : RUN /bin/bash -c "echo helloworld"    or   RUN {"/bin/bash", "-c" ,"echo helloworld"}

4) CMD : CMD 指令指明了启动镜像容器时的默认行为(docker 容器运行时的默认命令),一个Dockerfile 里只有一个CMD 指令,CMD 指令里设定的命令可以在运行镜像时使用参数覆盖,CMD 是 运行时(run)的动作。 e.g :  CMD echo "this is a test"  正如上所说可以被运行时的参数覆盖,如下: docker  run -d imag_name echo "this is not a test"。

       ENTRYPOINT 和CMD一样,但是ENTRYPOINT不会被覆盖

5)EXPOSE : 指明了镜像运行时的容器必须监听的端口  e.g : EXPOSE 8080

6) ENV : 用来设置环境变量  e.g :  ENV myname = caiqiufang   or ENV myname  caiqiufang。

7) ADD : ADD 指令是指从当前工作目录复制文件(并解压缩)到镜像目录中去。 e.g : ADD test.txt   /mydir/

      COPY:和ADD一样,但是不解压缩

8) ENTRYPOINT : ENTRYPOINT 指令可以让容器像一个可执行程序一样运行,这样镜像运行时可以像软件一样 接收参数执行。ENTRYPOINT 是运行(run)时的动作  e.g : ENTRYPOINT {"/bin/echo"}  ,那么我们可以向镜像传递参数运行 docker run  -d image_name  "this is a test"

9) WORKDIR <path>: 指定RUN, CMD, ENTRYPOINT  等命令运行的工作路径 

10) LABEL 功能是为镜像指定标签

11) VOLUME 可实现挂载功能,可以将内地文件夹或者其他容器种得文件夹挂在到这个容器种 语法为: VOLUME ["/data"]

12)ONBUILD 语法: ONBUILD [INSTRUCTION]这个命令只对当前镜像的子镜像生效。 比如当前镜像为A,在Dockerfile种添加: ONBUILD RUN ls -al这个 ls -al 命令不会在A镜像构建或启动的时候执行 此时有一个镜像B是基于A镜像构建的,那么这个ls -al 命令会在B镜像构建的时候被执行

 

配置阿里云镜像加速

1.sudo vim /etc/docker/daemon.json
添加:

{
"registry-mirrors": ["https://xxxxxxxx.aliyuncs.com"]
}

2.重启docker服务

posted on 2019-08-06 14:57 下龙山王俊凯 阅读(...) 评论(...) 编辑 收藏