zoukankan      html  css  js  c++  java
  • DockerFile基础知识

    1.DockerFile简介:

      Dockerfile: 自动化构建指定镜像的一个脚本文件  

    传统构建指定镜像过程:

    找一个镜像  ===> 创建容器并进入 ===>进行相关操作(安装软件或进行配置) ===>构建新镜像

    ①基础信息

    1)基础镜像信息:FROM <基础镜像>
    2)维护者信息:LABEL maintainer=<作者信息>
    3)构建镜像时所要执行的操作信息
    4)容器启动执行指令:ENTRYPOINT <执行指令>

    ②构建镜像命令

    docker build -t [镜像名]:[版本号] [Dockerfile所在目录]

    2.Dockerfile快速入门

    示例: 需求:构建一个安装了python3和python3-pip的镜像环境

    ① 进入/data/docker/base 目录下

    cd /data/docker/base
    wget http://116.62.191.55/share/sources.list   # 获取sources.list,换源配置

    ②创建Dockerfile文件 注:Dockerfile文件名的D必须大写

    # ① 基础镜像
    FROM ubuntu
    
    # ② 作者信息
    LABEL maintainer=y960754862@163.com
    
    # ③ 执行操作
    ADD ./sources.list /etc/apt/sources.list  # 安装依赖换源配置
    RUN apt-get update
    RUN apt-get install vim -y
    RUN apt-get install python3 -y && apt-get install python3-pip -y
    WORKDIR /root/.pip/
    ADD ./pip.conf ./pip.conf
    WORKDIR /
    
    # ④ 入口指令
    ENTRYPOINT ["/bin/bash"]

    ③构建镜像

    docker build -t python3:v0.1 .

    ④ 查看镜像

    ⑤使用新镜像创建一个容器 

    docker run -it python3:v0.1

     ⑥进入容器查看是否成功

    3. DockerFile指令

    3.1 基础指令

    ① FROM  <image>     # 选择镜像

    ② LABEL maintainer=<name>  # 开发者信息

    ③ RUN <command> (shell模式)     RUN echo hello   

        RUN ["excutable", "param1", "param2"]  (exec模式)  RUN ["echo", "hello"]

     # 表示当前镜像构建时候运行的命令

    ④ EXPOSE <port> <port2> ...  # 设置Docker容器对外暴露的端口号

    3.2 文件编辑指令

    ① ADD <src> <dest>  # 将宿主机指定的文件复制到容器文件系统中

        (如果源文件是个压缩文件,该指令执行时,则docker会自动帮解压到指定的容器中)

    ② COPY <src> <dest>  # 单纯复制文件场景,Docker推荐使用COPY。

    ③ VOLUME ["/data"]  # VOLUME指令可以在镜像中创建挂载点,这样只要通过该镜像创建的容器都有了挂载点。

    3.3 环境指令详解

    ① ENV <key> <value>      # 设置环境变量

    ② WORKDIR  /path/to/workdir     # 切换目录

    4. Dokerfile构建镜像过程

  • 相关阅读:
    Java
    paratest
    ccnet
    资料
    ccnet
    判断类被某个属性应用
    有趣的数学 -- 数学归纳法 -- 互不重叠的单位正方形
    排序算法 -- 堆排序
    APUE CH10 Signals
    APUE CH9 Process Relationship
  • 原文地址:https://www.cnblogs.com/yqyn-study/p/13355596.html
Copyright © 2011-2022 走看看