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

相关推荐
愚润求学4 分钟前
【Linux】网络基础
linux·运维·网络
小和尚同志1 小时前
29.4k!使用 1Panel 来管理你的服务器吧
linux·运维
小米里的大麦9 天前
014 Linux 2.6内核进程调度队列(了解)
linux·运维·驱动开发
退役小学生呀9 天前
三、kubectl使用详解
云原生·容器·kubernetes·k8s
程序员的世界你不懂9 天前
Appium+python自动化(三十)yaml配置数据隔离
运维·appium·自动化
算法练习生9 天前
Linux文件元信息完全指南:权限、链接与时间属性
linux·运维·服务器
浩浩测试一下9 天前
渗透测试指南(CS&&MSF):Windows 与 Linux 系统中的日志与文件痕迹清理
linux·运维·windows·安全·web安全·网络安全·系统安全
小生云木9 天前
Linux离线编译安装nginx
linux·运维·nginx
19899 天前
【Dify精讲】第19章:开源贡献指南
运维·人工智能·python·架构·flask·开源·devops
API开发9 天前
苹果芯片macOS安装版Homebrew(亲测) ,一键安装node、python、vscode等,比绿色软件还干净、无污染
vscode·python·docker·nodejs·openssl·brew·homebrew