容器使用Docker Host做数据存储:
容器来做数据的存储。清除了容器,保存在容器的数据就会丢失,所以容器不适合做数据的持久化。
-v --volume list: Bind Mount a volume 绑定挂载一个卷。
把数据保存到真实机上,就能做到持久化。
第一步:在容器主机上创建用于存储目录:
mkdir /opt/cvolume
第二步:运行容器并挂载上述目录:
docker run -it -v /opt/cvolume:/data --name c102 centos:latest /bin/bash
1)-v 前面是容器主机的目录,后面是容器里的目录。
2)容器目录/data是在运行容器的时候自动创建的,不需要预先在镜像中创建该目录。
第三步:在/opt/cvolume目录中创建123.txt文件,那么使用docker attach c102命令进入到容器,然后在/data目录下检查,可以看到123.txt文件已经存在。
-v选项,把容器的文件保存到本地,把真实机的目录挂载到容器中。
案例:
运行在容器中的http服务,使用docker host的/web目录中的网页文件,并能够在docker host上进行修改后,立刻生效。
第一步:
在宿主机上创建/web目录,并添加网页文件。
mkdir /web
echo "web" > /web/index.html
第二步:启动容器对/web目录进行挂载
docker run -it -p 8080:80 -v /web:/var/www/html centos:latest /bin/bash
# 在容器中
ls /var/www/html
第三步:启动http服务
yum install -y httpd
httpd -k start
第四步:验证:
# 在容器中
curl http://localhost
# 在容器主机中
curl http://localhost:8080
在工作中,解决MySQL数据目录没有正确映射到宿主机的问题。
备份数据:mysqldump
停止mysql原来的容器
docker stop mysql
备份数据(数据目录的拷贝)
docker cp
启动mysql的新容器
docker run文章来源:https://www.toymoban.com/news/detail-502495.html
删除mysql旧容器(可选)文章来源地址https://www.toymoban.com/news/detail-502495.html
到了这里,关于Docker学习笔记9的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!