• 利用dockerfile定制镜像


    1. FROM参数(指定基础镜像)

    FROM scratch # 制作base image基础镜像,尽量使用官方的image作为base image
    FROM centos # 以centos为基础镜像,进行二次构建镜像
    FROM ubuntu:14.04 # 带有tag的base image
    

      

    2. LABEL参数(标签, 定义作者信息)

    LABEL version=“1.0” # 容器元信息,帮助信息,Metadata,类似于代码注释
    LABEL maintainer=“xxxxoooo@163.com"
    

      

    3. RUN参数(是一个万能指令,执行命令)

    #对于复杂的RUN命令,避免无用的分层,多条命令用反斜线换行,合成一条命令!
    RUN yum update && yum install -y vim 
    Python-dev # 反斜线换行
    RUN /bin/bash -c "source $HOME/.bashrc;echo $HOME”
    

      

    4. WORKDIR参数(相当于linux的cd命令)

    WORKDIR /root # 相当于linux的cd命令,改变目录,尽量使用绝对路径!!!不要用RUN cd
    WORKDIR /test # 如果没有就自动创建
    WORKDIR demo # 再进入demo文件夹
    RUN pwd # 打印结果应该是/test/demo
    

      

    5. ADD参数(把宿主机的一个文件,添加到容器空间内)

    ADD /opt/django/manage.py /opt/ # 把宿主机的/opt/django/manage.py放到容器空间内的/opt/目录下
    ADD /opt/python3.6.tar.gz /opt/ # ADD的解压文件作用,将宿主机的/opt/下的python3.6.tar.gz解压到容器内的/opt/目录下
    ADD and COPY
    ADD hello / #把本地文件添加到镜像中,吧本地的hello可执行文件拷贝到镜像的/目录
    ADD test.tar.gz / #添加到根目录并解压
    
    WORKDIR /root
    ADD hello test/ # 进入/root/ 添加hello可执行命令到test目录下,也就是/root/test/hello 一个绝对路径
    COPY hello test/ # 等同于上述ADD效果
    

      

    6. COPY参数(拷贝指令)

    # 将宿主机的文件, 拷贝到容器内,但是没有解压缩的命令,尽量使用COPY,不要使用ADD
    COPY filename /opt/
    
    ADD与COPY
    - 优先使用COPY命令
    -ADD除了COPY功能还有解压功能
    添加远程文件/目录使用curl或wget
    

      

    7. ENV参数(docker的环境参数指令)

    ENV # 环境变量,尽可能使用ENV增加可维护性
    ENV MYSQL_VERSION 5.6 # 设置一个mysql常量,这个${MYSQL_VERSION}类似于全局常量
    RUN yum install -y mysql-server=“${MYSQL_VERSION}” # 如果版本号有变更,则只需要改这个常量就可以了
  • 相关阅读:
    java冒泡算法和选择排序法
    JDBC操作数据库,比如修改电商数据库中的分类的id,让各商品随机
    RF使用
    安装RF框架(基于Python)
    selenium+java的常使用的一些操作
    selenium的常用操作
    selenium的8种定位方式(java举例)
    服务管理
    Linux软件安装
    项目依赖
  • 原文地址:https://www.cnblogs.com/51try-again/p/10686432.html
Copyright © 2020-2023  润新知