Docker 基本操作 数据卷 -- docker 数据卷基本操作、挂载数据卷

发布于:2023-01-09 ⋅ 阅读:(270) ⋅ 点赞:(0)

1. docker 数据卷基本操作


1.1 容器与数据耦合的问题

在这里插入图片描述


1.2 数据卷介绍

在这里插入图片描述


1.3 数据卷的基本语法

在这里插入图片描述

补充说明:也可以使用 docker volume --help命令来查看数据卷的基本语法

在这里插入图片描述


1.4 创建一个数据卷,并查看数据卷在宿主机的目录位置

按照下面步骤操作即可:

在这里插入图片描述

这是我查看我的html数据卷的截图:

在这里插入图片描述


1.5 小结

在这里插入图片描述


2. 挂载数据卷


2.1 基本语法

在这里插入图片描述


2.2 案例:创建一个nginx容器,修改容器内的html目录内的index.html内容

上一个案例

在这里插入图片描述


2.2.1 步骤1:创建容器并挂载数据卷到容器内的HTML目录

命令行输入:docker run --name mn -v html:/usr/share/nginx/html -p 80:80 -d nginx
运行结果:
在这里插入图片描述

补充说明:

如果事先没有创建好html数据卷,执行该目录会自动帮你创建名为html的数据卷,然后帮你挂载到容器上面。


2.2.2 进入html数据卷所在位置,并修改HTML内容

我们先查看数据卷挂载的位置:

这里是我的位置:/var/lib/docker/volumes/html/_data
在这里插入图片描述

然后进入该目录:
在这里插入图片描述

然后就使用vim编辑器修改index.html文件即可。

命令行输入:vim ./index.html
在这里插入图片描述


2.2.3 验证是否修改成功

我们去访问nginx容器:

我们先查看linuxip
在这里插入图片描述

然后就可以在我们的Windows上面访问了:游览器url栏输入http://192.168.135.130:80即可访问
在这里插入图片描述

可以看见,已经修改成功了。


2.3 小结

在这里插入图片描述


3. 直接挂载目录 / 文件


3.1 与数据卷挂载方式做对比

在这里插入图片描述


3.2 案例:创建并运行一个MySQL容器,将宿主机目录直接挂载到容器

在这里插入图片描述


3.2.1 拉取mysql镜像

终端输入:docker pull mysql

在这里插入图片描述在这里插入图片描述


3.2.2 创建目录/tmp/mysql/data,/tmp/mysql/conf

在这里插入图片描述


3.2.3 在/tmp/mysql/conf 目录创建hmy.cnf文件,然后往里面写入配置信息

在这里插入图片描述

然后使用vim往这个文件里面写入:

[mysqld]
skip-name-resolve
character_set_server=utf8
datadir=/var/lib/mysql
server-id=1000

3.2.4 去DockerHub查阅资料,创建并运行MySQL容器

在这里插入图片描述

控制台输入:

docker run \
--name mysql \
-e MYSQL_ROOT_PASSWORD=317525 \
-p 3306:3306 \
-v /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \
-v /tmp/mysql/data:/var/lib/mysql \
-d \
mysql:latest

运行结果:

在这里插入图片描述

发现现在data目录多了许多文件,说明挂载成功了:
在这里插入图片描述
在这里插入图片描述

我们现在使用本地windowsnavicat连接现在的mysql

使用ifconfig查看linux ip地址,这是我的地址192.168.135.130
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


3.3 小结

在这里插入图片描述




网站公告

今日签到

点亮在社区的每一天
去签到