Docker 学习历程-容器数据卷、DockerFile

本文详细介绍了Docker容器数据卷的使用,包括数据卷的持久化、Mysql数据同步、具名挂载与匿名挂载的区别。同时探讨了DockerFile的构建过程,CMD与ENTRYPOINT的差异,并提供了实战测试案例,如多MySQL数据共享、自定义Docker镜像等。
摘要由CSDN通过智能技术生成

什么是容器数据卷

容器数据卷是可以使数据持久化的一个技术,是将容器内部的数据存储到服务器的文件里,并且可以操作服务器上的文件,使得容器里的数据发生变化的。
如果删除容器,数据也可以持久化,举例:MySQL的容器删除了,但是数据在本地
容器之间可以有一个数据共享的技术,Docker容器中产生的数据,同步到本地。

1、启动CentOS并且指定-v 目录
docker run -it -v /home/ceshi:/home centos

docker inspect 8cb966e186e0 // 8cb966e186e0 是容器id
在这里插入图片描述

已经成功将容器内部的文件同步到外部系统中
在这里插入图片描述
之后系统的数据操作都会在这个文件里生成,例如
在这里插入图片描述
反向操作:停止容器后,再到服务器上新增test.java文件内容,启动容器,查看test.java文件内容,也是会同步的
在这里插入图片描述

Mysql数据同步

1、下载mysql容器

docker pull mysql:5.7

2、运行容器,做数据挂载
官方启动文档:docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag // 运行mysql时需要输入密码 -e 就是配置环境 MYSQL_ROOT_PASSWORD 就是配置初始密码

// 启动mysql并挂载
docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7

3、使用本地可视化navicat测试数据

-d			 // 后台运行
-p			// 端口映射
-v			// 挂载运行,挂载多个目录需要输入多个-v
--name		// 给容器起个名字

具名挂载和匿名挂载

匿名挂载

docker run -d -P --name nginx03 -v /ect/nginx nginx

在这里插入图片描述

docker volume ls // 查看 volume 的具体情况

具名挂载

docker run -d -P --name ngi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值