zoukankan      html  css  js  c++  java
  • dockerfile语法

    dockerfiles的指令不区分大小写,但约定为全部大写

    dockerfiles支持如下语法命令:

    1.FROM <image name>

      所有的dockerfile都必须以from命令开始,from命令会指定镜像基于哪个基础镜像而创建

      如:

      FROM ubuntu

    2.MAINTAINER <author name>

      设置该镜像的作者

    3.RUN <command>

      在shell或者exec的环境下执行的命令,run指令会在新创建的镜像添加新的层面,接下来提交的结果用在dockerfile的下一条指令中。

    4.ADD <src> <destination>

      复制文件指令,src为启动上下文中的一个文件或一个URL中的文件,destination是容器内的路径

    5.CMD ["executable","param1","param2" ]或CMD command param1 param2

      提供容器默认的执行命令,dockerfile只允许使用一次CMD命令,如果执行多次,最后一次自动替换之前的。

    6.EXPOSE <port>

      指定容器在运行时监听的端口

    7.ENTRYPOINT ["executable","param1","param2"]或ENTRYPOINT command param1  param2

      给容器指定一个默认的应用程序,这意味着用镜像创建容器时,只运行指定的应用,类似于CMD命令,也是只允许一个ENTRYPOINT,最后一个会抵消前面的。

    8.WORKDIR <path>

      指定RUN,CMD,ENTRYPOINT命令的工作目录

    9.ENV <key> <value>

      设置环境变量

    10.USER <uid>

      镜像正在运行时设置一个UID

    11.VOLUME ['/data']

      授权访问从容器内到主机上的目录

      在启动容器时指定目录使用 -v参数 -v 本地目录:容器目录,如把本机/code/aosp挂载到容器内的/aosp目录:

      docker run -v /data/aosp:/aosp ubuntu

      i.e.如果要挂载多个目录可多次使用-v参数

    使用以下命令来从Dockerfile构建镜像

    docker build [options] PATH | URL

    options有

      --rm=true表示构建成功后,移除所有中间容器

      --no-cache=false 表示在构建过程中不使用缓存

    ENV 设置环境变量
    ENV <key><value>
    ENV指令可以用于为docker容器设置环境变量

    ENV设置的环境变量,可以使用 docker inspect命令来查看。同时还可以使用docker run --env <key>=<value>来修改环境变量。

    Note: 环境变量的设置要合理,比如将环境变量设置为非交互的 ENV DEBIAN_FRONTEND noninteractive.那再用这个来进行操作: docker run -t -i image bash

  • 相关阅读:
    对Android开发者有益的40条优化建议
    git推送tag到远端服务器
    详细注释!二维码条码扫描源码,使用Zxing core2.3
    探秘腾讯Android手机游戏平台之不安装游戏APK直接启动法
    android的logcat详细用法!
    【Android】开源项目汇总-备用
    android 中theme.xml与style.xml的区别
    Android实现对HOME键的捕获和屏蔽
    java中newInstance()和new()
    java Stack
  • 原文地址:https://www.cnblogs.com/asminfo/p/6492900.html
Copyright © 2011-2022 走看看