docker容器数据卷
docker容器中产生的数据存储在本地:卷技术,目录挂载,将容器内的目录挂载linux上,解决数据持久化问题。
方式一:直接使用命令来挂载(-v)
docker run -it -v 主机目录:容器内目录 -p 主机端口:容器内端口 镜像 /bin/bash
root@Hon:/home# docker run -it -v /tmp/test:/home centos /bin/bash [root@4e7bb8da4848 /]# [root@4e7bb8da4848 /]# [root@4e7bb8da4848 /]# cd /home [root@4e7bb8da4848 home]# touch 1.txt [root@4e7bb8da4848 home]# exit exit root@Hon:/home# root@Hon:/home# cd /tmp root@Hon/tmp# ls snap-private-tmp systemd-private-be2ea4503fa343519a15a297c8ce27e9-polkit.service-rnnsns systemd-private-be2ea4503fa343519a15a297c8ce27e9-systemd-logind.service-4dPzuR systemd-private-be2ea4503fa343519a15a297c8ce27e9-systemd-resolved.service-d0oNID test root@Hon:/tmp# cd test/ root@Hon:/tmp/test# ls 1.txt root@Hon:/tmp/test#
docker inspect 4e7bb8da4848 #查看挂载信息:
"Mounts": [
{
"Type": "bind",
"Source": "/tmp/test",
"Destination": "/home",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
],
关容器,修改宿主机的1.txt文件,测试同步
root@Hon:/tmp/test# docker start 4e7bb8da4848 4e7bb8da4848 root@Hon:/tmp/test# docker attach 4e7bb8da4848 [root@4e7bb8da4848 /]# [root@4e7bb8da4848 /]# [root@4e7bb8da4848 /]# cd /home [root@4e7bb8da4848 home]# ls 1.txt [root@4e7bb8da4848 home]# cat 1.txt hello by qweqewqe
-v数据卷好处:修改只需要在本地修改,容器内会自动同步
eg.
$ docker run -d --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:tag
$ docker run -d --name some-mysql -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:tag
-e 环境配置
posted on 2025-03-10 11:17 vanspumakappa 阅读(15) 评论(0) 收藏 举报
浙公网安备 33010602011771号