Docker之数据卷&自定义镜像

本文介绍了Docker中的数据卷,如何实现数据与容器的持久化共享,并探讨了如何基于官方镜像创建自定义镜像,添加额外功能如ifconfig。通过Dockerfile,作者展示了如何构建包含定制网络工具的centos:v1.0镜像。
摘要由CSDN通过智能技术生成

前言

Docker提供了一个持久化存储数据的机制,与容器生命周期分离,从而带来一系列好处:
总的来说Docker 数据卷提供了一种灵活、持久、可共享的存储机制,使得容器化应用在数据管理方面更加强大和可控。

一、数据卷

  • docker数据卷与容器的关系图
    在这里插入图片描述
  • 图解数据卷与数据卷容器的区别
    在这里插入图片描述
  • 数据卷 宿主机与容器共享目录
docker run -di --name c2 -v /home/javaxl/data/:/home/javazzs/data/ centos:7 

在这里插入图片描述
此时里面是没有文件的
在这里插入图片描述
进入到刚创建的容器 在这里插入图片描述
在这里插入图片描述
假设当前目录是属于Tomcat日志目录,现在我产生日志了
在这里插入图片描述
在这里插入图片描述
CTRL+PQ退出
在这里插入图片描述
这就是数组机与容器共享目录

  • 容器与容器共享目录
    我创建c4和c6容器
docker run -di -v /home/javazzs/data/c4 --name c4 centos:7
docker run -di --volumes-from c4 --name c6 centos:7

在这里插入图片描述
然后在c4创建一个文件
在这里插入图片描述
然后看看c6容器能不能看到c4写的
在这里插入图片描述
可以看到是有的,那么就证明了容器与容器之间可以共享目录

二、自定义镜像

docker ps

可以看到有这么多容器
在这里插入图片描述
进入到c6容器

docker exec -it c6 /bin/bash/

在这里插入图片描述
使用ifconfig是看不到地址的
在这里插入图片描述
为什么没有这个命令呢?是因为外部去启动这个容器的时候,是依靠centos7镜像启动的容器。就是说官网上的镜像没有这个指令
去下载他

yum install -y ifconfig

在这里插入图片描述
用不了的话,我们自己去做一个有ifconfig的命令
编辑Dockerfile文件(自定义的相对于网上的多了个ifconfig命令)

vi mycentosDockerfile

在这里插入图片描述

向 mycentosDockerfile 编辑内容

FROM centos:7 我以官方的哪个镜像上做改动
MAINTAINER zzs "zzs@qq.com" 
RUN yum -y install vim 
RUN yum install net-tools.x86_64 -y 加一个网络工具
CMD /bin/bash

可以看到是有的

cat mycentosDockerfile

在这里插入图片描述
通过Dockerflie构建镜像

docker build -f mycentosDockerfile -t javazzs/centos:v1.0 .
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小邹会码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值