Docker入门(二)

  • Docker容器的数据卷

    • 数据卷概念及作用

      数据卷是宿主机中的一个目录或文件,当容器目录和数据卷绑定后,对方的修改会立即同步。

      为什么使用数据卷?

      不使用数据卷会有以下问题:docker容器删除后,在容器中产生的数据会随之销毁;docker容器无法和外部机器(注意是外部机器,不是宿主机)直接交换文件;容器之间数据交互比较棘手。

      一个数据卷可以被多个容器挂载;一个容器也可以挂载多个数据卷。

      数据卷作用:容器数据持久换;外部机器和容器间接通信;容器之间数据交换。

    • 配置数据卷

      • 创建启动容器时,使用-v参数 设置数据卷

        docker run … -v 宿主机目录(文件):容器内目录(文件)…

        注意事项:

        ​ 1.目录必须是绝对路径;

        ​ 2.如果目录不存在,会自动创建;

        ​ 3.可以挂在多个数据卷

    • 配置数据卷容器

      • 多容器如何进行数据交换?

        • 多个容器挂载同一个数据卷。缺点:容器多的时候挨个设置数据卷目录,操作麻烦。
        • 数据卷容器来解决。
      • 配置过程:

        • 创建启动c3数据卷容器,使用-v参数 设置数据卷

          docker run -it --name=c3 -v /volume redis:5.0 /bin/bash
          

          注意:这里的-v 参数,冒号和左边的宿主机目录没有写,系统会默认创建一个

        • 创建启动c1 c2容器,使用–volumes-from参数 设置数据卷

          docker run -it --name=c1 --volumes-from c3 redis:5.0 /bin/bash
          
          docker run -it --name=c2 --volumes-from c3 redis:5.0 /bin/bash
          

          这样,c1和c2容器通过c3容器实现了三个容器挂载同一个数据卷。

  • Docker应用部署

    • MySql部署

      • 搜索mysql镜像

        • docker search 命令 相应版本信息去dockerHub上去找
      • 拉取mysql镜像

        • docker pull命令
      • 创建容器

        docker run -id -p 3307:3306 --name=mysql01 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:latest
        
        • -p 3307:3306 端口映射,将容器的3306端口映射到宿主机的3307
        • -v PWD/conf:/etc/mysql/conf.d将宿主机当前目录下的conf/my.cof挂载到容器的etc/mysql/conf.d/my.cof,配置目录;这里的PWD/conf:/etc/mysql/conf.d 将宿主机当前目录下的conf/my.cof挂载到容器的etc/mysql/conf.d/my.cof,配置目录;这里的PWD/conf:/etc/mysql/conf.d宿conf/my.cofetc/mysql/conf.d/my.cofPWD代表当前所在目录
        • -v $PWD/logs:/logs 将宿主机当前目录下的/logs挂载到容器的/logs,日志目录
        • -v $PWD/data:/var/lib/mysql 将宿主机当前目录下的/data目录挂载到容器的/var/lib/mysql,数据目录。
        • -e MYSQL_ROOT_PASSWORD=123456 初始化root用户的密码
      • 操作容器中的mysql

    • Tomcat部署

      • 搜索Tomcat镜像

        • docker search命令 相应版本信息去dockerHub上去找
      • 拉取Tomcat镜像

        • docker pull命令
      • 创建容器

        docker run -id --name=tomcat01 -p 8080:8080 -v $PWD:/usr/local/tomcat/webapps tomcat
        
        • -p 8080:8080 端口映射
        • -v $PWD:/usr/local/tomcat/webapps 将宿主机当前路径挂载到tomcat容器/usr/local/tomcat/webapps目录
      • 部署项目

        • 在当前目录下创建目录test,并在其内部创建index.html
          在这里插入图片描述
      • 测试访问

        • 浏览器访问,可以请求到
          在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值