docker本地目录挂载

小命令

1、查看容器详情

复制代码
docker inspect 容器名称

还是以nginx为例,上篇文章我们制作了nginx静态目录的数据卷,此时查看nginx容器时会展示出来(docker inspect nginx 展示信息太多,这里只截图数据卷挂载信息):

解释:
Source:宿主机数据卷位置。
Destination:已挂载的容器目录
Name:数据卷名称

2、宿主机目录与mysql容器中的数据目录、配置文件、初始化脚本的挂载

下边命令只是把默认数据卷名改成了本地目录即可完成自定义目录和容器目录的挂载。

java 复制代码
// 时机:在创建容器的时候去挂载制作
docker run -d --name 容器自定义名称 -p 外网端口:容器端口 -v 本地目录:容器内要挂载的目录 镜像名称

注意:
-v 本地目录写法: 前边必须以 / 或 ./ 开头。
-v mysql:/var/lib/mysql 会被是识别为一个数据卷叫 mysql;

-v ./mysql:/var/lib/mysql 会被是识别为当前目录下的mysql目录;

3、以mysql为例,实现:基于宿主机目录实现与mysql容器数据目录、配置文件目录、初始化脚本的挂载

宿主机的挂载目录在:/usr/mysql;

数据目录:/usr/mysql/data

配置文件目录:/usr/mysql/conf

初始化挂脚本目录:/usr/mysql/init

(1)在/usr目录下,创建上边四个目录

(2)创建、运行mysql容器,并实现挂载

解释:
-e :环境变量配置
TZ=Asia/Shanghai 设置时区
-v /usr/mysql/data:/var/lib/mysql 冒号右侧是对应mysql容器的数据目录,这个目录可以在docker hub上搜索mysql,在上边有记载mysql的一些文件目录,其他目录同理。

最后的mysql是镜像名称,这里要注重说下如果不带版本号,运行的是最新版本的mysql,本地没有最新的mysql,它会远程下载。。。如果你想运行你本机上的mysql镜像,一定要带上版本号!!!比如本机mysql镜像版本号为5.7,可以 mysql:5.7

java 复制代码
docker run -d \
--name mysql \
-p 3307:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123 \
-v /usr/mysql/data:/var/lib/mysql \
-v /usr/mysql/init:/docker-entrypoint-initdb.d \
-v /usr/mysql/conf:/etc/mysql/conf.d \
mysql

(3)查看mysql容器是否运行
(4)查看是否挂载成功,到/usr/mysql/data 查看数据已经同步

(5)物理机链接虚拟机上的mysql容器服务

相关推荐
雅斯驰1 天前
AES-128加密+滚动码认证:ATA5702W如何防御中继攻击与信号重放
运维·单片机·嵌入式硬件·物联网·自动化
网络与设备以及操作系统学习使用者1 天前
直连路由优先级最高
运维·网络·学习·华为·智能路由器
goyeer1 天前
【ITIL4】34服务实践 - 发布管理
运维·企业数字化·信息化·it管理·itil·it治理
小王C语言1 天前
xshell免密登录
linux·运维·服务器
model20051 天前
虚拟环境安装yolo26
linux·运维·服务器
Cat_Rocky1 天前
keepalived简单配置
linux·运维·服务器
开开心心就好1 天前
一键扫描电脑重复文件的实用工具
linux·运维·服务器·随机森林·智能手机·excel·启发式算法
2301_816374331 天前
Nginx下构建PC站点
java·运维·nginx
Run_Teenage1 天前
Linux:线程互斥,线程锁
运维·开发语言·jvm
DigitalOcean1 天前
DigitalOcean VPC 网络故障排查 Runbook 实战指南
运维·服务器