标签:
本文和大家分享的是Docker进阶中容器中的数据管理相关知识,希望可以帮助大家更好的学习Docker,一起来看看吧。
先思考一些场景,如果利用Docker创建了一个N个容器,这些容器之间需要数据共享,此时该怎么办?如果我们想在本机了解容器的运行状态、命令历史等,此时该怎么办?
按照Docker官方文档的说明,容器中的数据管理有两种形式:Manage data in containers
数据卷(Data Volumes)
可以将“数据卷”理解为容器中的一个目录,类似于Linux中mount的概念。创建容器时,可以一并创建数据卷,并且能够挂载一个主机目录为数据卷。有点绕口,实例说明一下。
(1)创建mysql容器,不添加任何关于数据卷的参数:
# 这里假设我们已经pull下mysql镜像
[root@xx ~]# docker run -d -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 mysql # 创建一个名字为mysql01的容器
此时并没有指定关于任何数据卷的参数。-p 3306:3306是将本机的3306端口映射到容器的3306端口。此时利用命令查看容器的基本信息,其中一段为:
[root@xx ~]# docker inspect mysql01
......"Mounts": [
{
"Name": "6cb3597e2da5......",
"Source": "/var/lib/dock