Docker容器的数据卷

文章讨论了Docker容器中数据的处理方式,指出容器删除后数据不再存在,容器与外部机器不能直接交换文件但可通过数据卷实现。数据卷用于容器间的数据交互和持久化,可被多个容器共享。介绍了如何配置数据卷和数据卷容器以确保数据安全,以及通过端口映射部署Mysql服务的例子。
摘要由CSDN通过智能技术生成

目录

思考:

1、Docker容器删除后,在容器中的数据还存在吗? 不存在

2、Docker容器和外部机器可以直接交换文件吗? 不能直接交换文件,但可以间接交换文件

​3、容器之间怎么进行数据交互?

数据卷概念

​编辑配置数据卷 

数据卷容器 


思考:

1、Docker容器删除后,在容器中的数据还存在吗? 不存在

2、Docker容器和外部机器可以直接交换文件吗? 不能直接交换文件,但可以间接交换文件

 3、容器之间怎么进行数据交互?

数据卷概念

 数据卷当宿主机中的一个目录和容器中的一个目录挂载(绑定)后,我们称宿主机中的这个目录为数据卷。

  • 数据卷是宿主机中的一个目录或文件
  • 当容器目录和数据卷目录绑定后,对方的修改会立即同步
  • 一个数据卷可以被多个容器同时挂载
  • 一个容器也可以被挂载多个数据卷

数据卷作用

  • 容器数据持久化
  • 外部机器和容器间接通信
  • 容器之间数据交换

配置数据卷 

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

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

示例:docker run -it --name=c1 -v /root/data:/data_container mysql:5.7 /bin/bash

注意事项:

  1. 目录必须是绝对路径
  2. 如果目录不存在,会自动创建
  3. 可以挂载多个数据卷 (一个-v挂一个,想要多个可以加多个-v)

 一个数据卷挂多个容器

 

数据卷容器 

 容器C3和数据卷挂载后,C1和C2又和C3挂载了,那么相当于C1、C2和数据卷挂载了,即使C3损坏了,C1、C2还可以和数据卷通信。我们称C3为数据卷容器。

配置数据卷容器

 1、创建启动C3数据卷容器,使用-v参数设置数据卷

docker run -it --name=c3 -v /volume mysql:5.7 /bin/bash 

#不用设置数据卷目录 

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

 docker run -it --name=c1 --volumes-from c3 mysql:5.7 /bin/bash
docker run -it --name=c2 --volumes-from c3 mysql:5.7 /bin/bash

端口映射 

Docker应用部署

一、部署Mysql

1、搜索mysql镜像

docker search mysql

2、拉取mysql镜像 

docker pul7 mysq1: 5.6 

3、创建容器,设置端口映射、目录映射 

 #在/root目录下创建mysq1目录用于存储mysq1数据信息

mkdir ~/mysq1
cd ~/mysq1

docker run -id \

-p 3307 : 3306 \

--name=c_mysql \
-v $pwd/conf:etc/mysql/conf.d \

-v $pwd/logs:/logs \
-v $pwd/data:/var/lib/mysql \

-e MYSQL_ROOT_PASSWORD=123456 \

lmysq1:5.6

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值