美文网首页
dockerfile的创建与使用

dockerfile的创建与使用

作者: zhile_doing | 来源:发表于2018-06-16 16:52 被阅读0次
  1. dockerfile基本语法规则
    • dockerfile的结构
      主要包含四部分,基础镜像,即该dockerfile基于何种基础镜像创建,随后是维护者信息,然后是镜像的操作指令,最后是镜像启动时需要执行的命令,看下面的例子
      # httpd dockerfile based on centos
      FROM centos
      MAINTAINER xiaozhifc 1786614260@qq.com
      RUN yum install --nogpgcheck httpd vim sed net-tools -y
      RUN sed -i 's/# ServerName www.example.com:80/ServerName localhost/' /etc/httpd/conf/httpd.conf
      EXPOSE 80
      CMD /usr/sbin/httpd -X
      
    构建时使用
    docker build -t centos:httpd path_to_dockfile
    查看构建成功的images
    $ docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    centos              httpd               61cee0059221        7 minutes ago       364 MB
    docker.io/centos    latest              49f7960eb7e4        11 days ago         200 MB
    
    创建容器
    $ docker run -P --name web centos:httpd
    查看端口映射
    $ docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                   NAMES
    c7b7c6c9149f        centos:httpd        "/bin/sh -c '/usr/..."   33 seconds ago      Up 31 seconds       0.0.0.0:32769->80/tcp   web
    

    访问32769


  1. 基本指令
    • RROM
      表示镜像的基础镜像,比如ubuntu,centos等
      FROM image[:tag]
    • MAINTAINER USER
      指定维护者信息
    • RUN
      RUN command para1 para2 ...
      RUN ["command", "para1", "para2"]
      
      前者默认使用/bin/sh -c在shell中执行,如使用其他shell,
      RUN ["/bin/bash","-c","echo hello"]
    • CMD
      CMD ["executable", "param1", "param2"],使用exec执行
      CMD command param1 param2
      
      CMD指定容器开始时运行的命令
    • EXPOSE
      将暴露指定端口列表
      EXPOSE 80 443 8080
      在启动容器时,使用-P选项将其映射进主机端口
    • ENV
      ENV指令可以设置容器环境变量
      ENV <key> <value>
    • ADD
      添加指定的src到dest中,src可以是文件、目录、tar
      ADD src dest
    • COPY
      复制本机src到容器dest
      COPY src dest
    • ENTRYPOINT
      配置容器运行时执行的命令,不可被run参数覆盖,并且一个dockfile仅能使用一次,如果配置了多次,仅有最后一次会生效
      ENTRYPOINT ["COMMAND", "PARAM1", "PARAM2"]
      ENTRYPOINT COMMAND PARAM1 PARAM2
      
    • VOLUME
      创建数据卷,用于挂载本地目录或用作数据卷容器
      VOLUME ["/data"]
    • USER
      指定容器运行时的用户
      USER username
    • WORKDIR
      为后续命令指定工作目录,如果指定了相对路径,则相对于之前路径
      WORKDIR PATH
    • ONBUILD
      使用该关键词来修饰一条命令,我们在镜像A的创建过程中使用ONBUILD标识了一些命令,现在我们创建image B,以A为基础镜像时,使用ONBUILD修饰的命令会再次得到执行。
  2. 创建镜像
    docker build -t repo[:tag] path_to_dockfile

相关文章

  • docker设置字符集utf8

    使用DockerFile DockerFile my.cnf 使用docker容器 创建image 创建容器 创建...

  • dockerfile的创建与使用

    dockerfile基本语法规则dockerfile的结构主要包含四部分,基础镜像,即该dockerfile基于何...

  • Docker之Dockerfile指令

    Dockerfile关于 在Docker中创建镜像最常用的方式,就是使用Dockerfile。Dockerfile...

  • Docker管理-基于CentOS通过Dockerfile制作S

    1、创建Dockerfile文件 2、使用Dockerfile构建镜像 3、运行验证镜像

  • docker镜像命令

    1、docker build命令(dockerfile时用) 使用当前目录的Dockerfile创建镜像,标签为 ...

  • 九、Dockerfile应用

    1、 通过dockefile定制企业镜像 dockerfile的基本使用方式 创建用于存放dockerfile的目...

  • Dockerfile

    一、关于Dockerfile 在Docker中创建镜像最常用的方式,就是使用Dockerfile。Dockerfi...

  • Dockerfile的使用

    如何使用Dockerfile创建image? 1.编写Dockerfile(此处示例为django项目) # 从仓...

  • Dockerfile创建Nginx服务

    Dockerfile创建Nginx服务 使用CentOS镜像作为基础的系统 Dockerfile内容如下: 构建I...

  • docker搭建静态网站

    下载安装docker 使用dockerfile创建镜像 dockerfile文件内容: 执行操作命令: 打开容器w...

网友评论

      本文标题:dockerfile的创建与使用

      本文链接:https://www.haomeiwen.com/subject/rosbeftx.html