Docker 基本操作 数据卷 -- docker 数据卷基本操作挂载数据卷
Posted CodeJiao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker 基本操作 数据卷 -- docker 数据卷基本操作挂载数据卷相关的知识,希望对你有一定的参考价值。
文章目录
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容器:
我们先查看linux
的ip
:
然后就可以在我们的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
目录多了许多文件,说明挂载成功了:
我们现在使用本地windows
的navicat
连接现在的mysql
使用ifconfig
查看linux ip
地址,这是我的地址192.168.135.130
:
3.3 小结
以上是关于Docker 基本操作 数据卷 -- docker 数据卷基本操作挂载数据卷的主要内容,如果未能解决你的问题,请参考以下文章
Docker创建私有仓库 | 数据卷和数据卷容器 | 容器互联 操作详解