• Docker-数据卷-DockerFile


    1:数据卷

    Volume:是主机的一个文件或者目录,用来持久化容器在运行过程中的数据,且不会随着删除容器而被删除

    创建一个数据卷

    docker volume create 数据卷名
    #比如创建nginx数据卷
    docker volume create nginx-vol
    
    • 1
    • 2
    • 3

    查看数据卷

    docker volume ls
    
    • 1

    查看数据卷详细信息

    docker volume inspect 数据卷名
    #比如查看nginx-vol的信息
    docker volume inspect nginx-vol
    
    • 1
    • 2
    • 3

    创建容器和对应数据卷

    • -v 后面的内容为 宿主机的数据卷名称:容器内部需要同步数据的路径
    • 所有容器内同步出来的数据都存放在_data目录下
    docker -id --name=容器名 -v 数据卷名:容器内部同步的数据路径 镜像名
    #比如,创建nginx容器和nginx-vol数据集同步容器内/usr/share/nginx/html的文件
    docker -id --name=nginx-test -v nginx-vol:/usr/share/nginx/html nginx
    
    • 1
    • 2
    • 3

    清理数据卷
    清理数据卷时必须保证有数据卷对应关系的容器被删除

    docker volume rm 数据卷名
    #比如清理nginx的数据卷
    docker volume rm nginx-vol
    
    • 1
    • 2
    • 3

    清理所有数据卷

    docker volume rm ${docker volume ls}
    
    • 1

    2:DockerFile

    Dockerfile是由一系列命令和参数构成的脚本,这些命令基于基础镜像并创建一个新的镜像。

    • 对于开发人员来说:可以为开发团队提供一个完全一致的开发环境

    • 对于测试人员来说:可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建镜像开始工作

    • 对于运维人员来说:在部署时,可以实现应用的无缝移植

    构架一个Centos镜像,且配置Java环境

    FROM centos:7
    MAINTAINER HDLaZy
    WORKDIR /usr
    RUN mkdir /usr/local/java//
    ADD jdk-8u321-linux-x64.tar.gz /usr/local/java/
    ENV JAVA_HOME /usr/local/java/jdk1.8.0_321
    ENV PATH $JAVA_HOME/bin:$PATH
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    参数

    • FROM image_name:tag 定义了使用哪个基础镜像启动构建流程

    • MAINTAINER user_name 声明了镜像的创建者

    • ENV key value 设置环境变量(可以写多条)

    • RUN command 是Dockerfile的核心部分(可以写多条)

    • ADD source_dir/file 将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压

    • COPY source_dir/file 和ADD类似,区别在于如果是一个压缩文件,复制后不解压

    • WORKDIR path_dir 设置工作目录

    构建镜像

    docker build 
    docker build -t 镜像名
    docker build -t 镜像名 -f DockerFile路径
    
    • 1
    • 2
    • 3
  • 相关阅读:
    部署LVS-DR群集
    Java的面向对象思想
    ESP8266-Arduino编程实例-MPL3115A2压力传感器驱动
    linux【5】:Shell 编程
    微服务组件-反向代理(Nginx)
    jdk的组成和跨平台原理
    络达开发---自定义BLE服务(一):相关数据结构讲解
    PyCharm在debug技巧总结
    React 全栈体系(十五)
    Springboot初步开发网站(不接数据库,简单增删改查实现)
  • 原文地址:https://blog.csdn.net/hd_cash/article/details/125882438