zoukankan      html  css  js  c++  java
  • Docker 容器卷

    一、介绍

            如果数据都在容器中,容器已删除,数据都会丢失。容器之间可以有一个共享的技术。docker容器产生的数据,可以同步到本地。将容器内的目录,挂载到linux上面。

    二、制作镜像

    docker commit -m="提交信息" -a="作者"  容器id  目标镜像名:tag   #制作镜像文件,tag 版本号

    三、使用数据卷

     1、使用命令挂载  -v  , 本地和容器可以互相影响

    docker run -it -v 主机目录 :容器目录   #挂载
    docker inspect                       #可以看到挂载信息

     2、运行mysql

    -d 后台运行
    -p 端口映射
    -v 数据卷挂载 
    -e 环境配置   
    --name 容器名字


    docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7

     四、匿名挂载与具名挂载

     1、  匿名挂载

    -v  挂载路径
    docker run -d --nginx02  -v  /etc/nginx  nginx   # -v 时只写了容器内的地址,没有写容器外的地址

    2、具名挂载

    docker run -d -P --name nginx03 -v juming-nginx:/etc/nginx nginx   # 通过  -v 卷名:容器内路径
    
    docker volume inspect  juming-nginx     #通过具名挂载可以方便我们找到卷

    3、区分时匿名还是具名挂载

    -v 容器内路径                 # 匿名挂载
    
    -v 具名:容器内路径            #具名挂载
    
    -v /宿主机路径:容器内路径      #指定路径挂载

    4、只读与可读可写

    ro   # readonly   只读 只要看到ro,就说明这个路径只能由宿主机来操作,容器内部无法操作
    rw   # readwrite  可读可写 

    docker run
    -d -P --name nginx04 -v juming-niginx-01:/etc/nginx:ro nginx #ro只读

    docker run
    -d -P --name nginx04 -v juming-niginx-01:/etc/nginx:rw nginx

     五、Dockerfile

        Dcokerfile 就是用构建docker镜像的构建文件

    创建一个DockerFile文件,名字可以随机
    #文件中的内容,指令(大写) 参数  
    #test-iamges  Dockerfile名字
    FROM centos 
    
    VOLUME ["volume01","volume02"]   #挂载卷
    
    CMD echo "----------end-----------"
    
    CMD /bin/bash

    生成镜像命令

    docker build -f test-iamges -t dongsheng/centos .      # test-iamges Dockerfile文件名   dongsheng/centos  镜像名字

     容器间的数据共享

     --volumes-from     #共享命令
    共享的是 volume01 volume02 挂载卷

    先创建一个容器

    docker run -it --name docker01 f0a85d1596be

    创建第二个容器

    docker run -it --name docker02 --volumes-from docker01 dongsheng/centos

    容器之间配置信息的传递,数据卷的生命周期一直持续到没有容器使用为止。

  • 相关阅读:
    大话设计模式-——简答工厂模式
    大话设计——-单例模式
    首先,编写一个类ChongZai,该类中有3个重载的方法void print();其次, 再编写一个主类来测试ChongZai类的功能
    创建一个Point类,有成员变量x,y,方法getX(),setX(),还有一个构造方 法初始化x和y。创建类主类A来测试它
    正则表达式
    struts(一)
    servlet容器开发要点
    Http协议
    TCP的四次挥手
    建立TCP连接的三次握手
  • 原文地址:https://www.cnblogs.com/taisuyuanqing/p/14747271.html
Copyright © 2011-2022 走看看