【Docker】容器卷常规安装
创始人
2025-05-30 16:15:54
0

文章目录

    • 容器数据卷(持久化)
      • 是什么?
      • 特点
      • 宿主vs容器之间映射添加容器卷
      • 查看数据卷是否挂载成功
      • 容器和宿主机之间数据共享
      • 读写规则映射添加 `:rw`、`ro`
        • 读写(默认) ` docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:rw`
        • 容器实例内部被限制,只能读取不能写 `docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:ro 镜像名`
      • 卷的继承和共享 `--volumes-from 父类`
    • Docker常规安装
      • 安装tomcat
      • 安装mysql
      • 安装redis

容器数据卷(持久化)

  • 是什么?

    • 卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性:
    • 卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷
    • 将docker容器内的数据保存进宿主机的磁盘中
    • docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名
  • 特点

    1. 数据卷可在容器之间共享或重用数据
    2. 卷中的更改可以直接实时生效,爽
    3. 数据卷中的更改不会包含在镜像的更新中
    4. 数据卷的生命周期一直持续到没有容器使用它为止
  • 宿主vs容器之间映射添加容器卷

    docker run -it --name u1 --privileged=true -v /tmp/host_data:/tmp/docker_data ubuntu /bin/bash

    在这里插入图片描述

  • 查看数据卷是否挂载成功

    docker inspect 容器ID

    在这里插入图片描述

  • 容器和宿主机之间数据共享

    • docker修改,主机同步获得
    • 主机修改,docker同步获得
    • docker容器stop,主机修改,docker容器重启看数据是否同步。仍同步!
  • 读写规则映射添加 :rwro

    • 读写(默认) docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:rw

      在这里插入图片描述
    • 容器实例内部被限制,只能读取不能写 docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:ro 镜像名

      在这里插入图片描述
  • 卷的继承和共享 --volumes-from 父类

    • 容器1完成和宿主机的映射
      docker run -it --privileged=true -v /tmp/mydocker/u:/tmp --name u1 ubuntu

      在这里插入图片描述

    • 容器2继承容器1的卷规则
      docker run -it --privileged=true --volumes-from u1 --name u2 ubuntu

      在这里插入图片描述

Docker常规安装

  • 安装tomcat

    • docker hub上面查找tomcat镜像
      docker search tomcat

      在这里插入图片描述

    • 从docker hub上拉取tomcat镜像到本地
      docker pull tomcat

      在这里插入图片描述

    • docker images查看是否有拉取到的tomcat
      docker images tomcat

      在这里插入图片描述

    • 使用tomcat镜像创建容器实例(也叫运行镜像)
      docker run -it -p 8080:8080 tomcat

      在这里插入图片描述

    • 访问猫首页

      404

      在这里插入图片描述

      可能没有映射端口或者没有关闭防火墙

      先成功启动tomcat

      在这里插入图片描述

      查看webapps 文件夹查看为空

      在这里插入图片描述

      免修改版说明

      docker run -d -p 8080:8080 --name mytomcat8 billygoo/tomcat8-jdk8

      在这里插入图片描述

  • 安装mysql

    docker hub上面查找mysql镜像

    在这里插入图片描述

    从docker hub上(阿里云加速器)拉取mysql镜像到本地标签为5.7

    在这里插入图片描述

    使用mysql镜像(简单版)

    在这里插入图片描述

    使用mysql镜像(工作版)

    docker run -d -p 3306:3306 --privileged=true 
    -v /zzyyuse/mysql/log:/var/log/mysql 
    -v /zzyyuse/mysql/data:/var/lib/mysql 
    -v /zzyyuse/mysql/conf:/etc/mysql/conf.d 
    -e MYSQL_ROOT_PASSWORD=123456  
    --name mysql 
    mysql:5.7
    

    建库建表插入数据

    在这里插入图片描述

    docker上默认字符集编码隐患

    在这里插入图片描述

    新建my.cnf,通过容器卷同步给mysql容器实例

    [client]
    default_character_set=utf8
    [mysqld]
    collation_server = utf8_general_ci
    character_set_server = utf8
    

    在这里插入图片描述

    重新启动mysql容器实例再重新进入并查看字符编码

    在这里插入图片描述

    再新建库新建表再插入中文测试

    在这里插入图片描述

    在这里插入图片描述

  • 安装redis

    从docker hub上(阿里云加速器)拉取redis镜像到本地标签为6.0.8

    在这里插入图片描述

    入门命令

    在这里插入图片描述

    命令提醒:容器卷记得加入–privileged=true

    • Docker挂载主机目录Docker访问出现cannot open directory .: Permission denied
      解决办法:在挂载目录后多加一个–privileged=true参数即可

    在CentOS宿主机下新建目录/app/redis

    在这里插入图片描述

    将一个redis.conf文件模板拷贝进/app/redis目录下

    在这里插入图片描述

    /app/redis目录下修改redis.conf文件

    • requirepass 123 【可选】

    • 注释掉 # bind 127.0.0.1

    • 将daemonize yes注释起来或者 daemonize no设置

      因为该配置和docker run中-d参数冲突,会导致容器一直启动失败

    • 开启redis数据持久化 appendonly yes 【可选】

    使用redis6.0.8镜像创建容器(也叫运行镜像)

    docker run  -p 6379:6379 
    --name myr3 --privileged=true 
    -v /app/redis/redis.conf:/etc/redis/redis.conf 
    -v /app/redis/data:/data 
    -d redis:6.0.8 
    redis-server /etc/redis/redis.conf
    

    测试redis-cli连接上来

    在这里插入图片描述

    在这里插入图片描述

相关内容

热门资讯

走进小城看消费丨江西资溪:低碳...   夏日时节下午4点,江西省抚州市资溪县大觉山景区漂流终点依然热闹。来自南昌的游客余鑫漂流结束后没有...
【中原晨会0625】市场分析专... 来源:市场资讯 (来源:中原证券研究所) 本期重点研报目录 【中原策略】市场分析:电子半导体领涨 ...
南向资金连买4日!低费率+可月... 6月25日早盘,港股红利资产震荡整理。截至11时14分,港股红利低波ETF招商(520550)下跌0...
618成交破百万!紫荆花用一套... 一年一度的618年中大促,是消费市场的晴雨表,也是品牌间最激烈的角力场。当各大品牌在直播间里铆足了劲...
原创 黄... 2026年6月25日的国际金价已经从前期的5500美元高点跌到4200美元下方,累计跌幅超过22%,...
英伟达CEO:Vera Rub... 截至9:38,中证半导体材料设备主题指数(931743)涨2.36%创新高;权重股中,中微公司涨3....
再被催债16亿!“钢铁大王”戴... 澎湃新闻记者 贺梨萍 因“铁本事件”入狱五年的戴国芳重返钢铁行业,但他并没有完成从阶下囚再到“钢铁大...
周三原油价格下跌 随着美国和伊朗在和平谈判中取得进展,越来越多的油轮公开穿越霍尔木兹海峡,原油在战时的价格上涨已经蒸发...
这种蛋白是大脑衰老的开关 这种蛋白是大脑衰老的开关 清晨,假设一位五十岁左右的王女士发现自己常常把手机放在熟悉的抽屉里又找不到...
信通院牵头算力Token出海生... 盘面上,截至11:04,中证科创创业50指数(931643)涨1.68%,创历史新高;权重股中,芯原...
海外 774 亿营收背后:日本... 文 | 游戏价值论 6月23日,彭博社报道了腾讯正在围绕出售多家日本游戏工作室少数股权开展谈判,包...
餐饮“抢人”大战:把店开到公交... 作者 |餐饮老板内参 内参君 医院、公交站、演唱会…餐饮品牌,正在无孔不入 在北京儿童医院,肯德基...
快讯 | 外资扫货!陈翊庭:港... 港交所行政总裁陈翊庭在接受《中国证券报》专访时指出,国际资本对中国资产的看法已彻底扭转,布局中国市场...
2777.77元!A股“股王”... 25日早盘,昨天创下历史新高的A股“股王”联讯仪器,今天上午继续走强,盘中股价再度刷新历史新高。 截...
原创 今... 欧洲自己的媒体直接下结论,欧盟衰退躲不掉,内部分裂拦不住,现在就连欧洲顶尖工业巨头,都偷偷在用中国的...
黄仁勋股东大会放言:本轮AI基... 在当地时间6月24日的英伟达(NVDA.O)2026年度股东大会上,股东批准了该公司全部10名董事会...
国际油价大跌 新华社消息, 纽约原油期货主力合约价格24日盘中跌破每桶70美元,为伊朗战事爆发以来首次。 市场分析...
马云带队插秧,什么信号? 一场别开生面的“务农”,让外界看到了一个不一样的阿里巴巴。 近日,阿里巴巴合伙人、高德董事长刘振飞在...
全球最大产能,最高丰度达99.... 本文转自【科技日报】; 6月23日,高丰度硼-10同位素技术暨产业化成果发布会在山东省东营市举办,全...
黄金大跳水!金饰克价年内暴跌近... 25日,现货黄金盘中震荡,截至发稿,报3985.070美元/盎司,跌0.17%。 当地时间24日,...