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容器服务

相关推荐
Murphy_lx1 小时前
Linux系统--信号(4--信号捕捉、信号递达)陌生概念篇
linux·运维·服务器
weixin_405023371 小时前
使用docker 安装部署easy-mock
运维·docker·容器
Asuncion0071 小时前
Docker核心揭秘:轻量级虚拟化的革命
服务器·开发语言·docker·云原生
ZLRRLZ1 小时前
【Docker】Docker Image(镜像)
运维·docker·容器
小熊h1 小时前
Kubernetes(K8s) —— 部署(保姆级教程)
云原生·容器·kubernetes
焱焱枫2 小时前
Linux疑难杂症诊断利器:深入解析 fuser 命令
linux·运维·服务器
博语小屋2 小时前
Linux进程信号(壹)_产生信号
linux·运维·服务器
养海绵宝宝的小蜗3 小时前
Linux 例行性工作任务(定时任务)知识点总结
linux·运维·服务器
乌萨奇也要立志学C++3 小时前
【Linux】基础IO(二)深入理解“一切皆文件” 与缓冲区机制:从原理到简易 libc 实现
linux·运维·服务器
这周也會开心3 小时前
通过ssh连接GitHub远程仓库
运维·ssh·github