一、容器数据卷
将应用和环境打包成一个镜像!如果数据都在容器中,那么我们容器删除,数据就会丢失!比如MySQL,容器删了,删库跑路!那就需要保证MySQL数据可以存储在本地!
容器之间可以有一个数据共享技术!Docker容器中产生的数据,同步到本地!这就是卷技术,目录的挂载,将我们容器内的目录挂载到 linux 目录上面!
总结: 容器的持久化和同步操作!容器间数据也是可以共享的!
方式一:直接命令挂载:docker run -it -v 主机目录:容器内目录 -p 主机端口:容器内端口
docker run -it -v /home/ceshi:/home centos /bin/bash
也可以用docker inspect 容器id
查看挂载信息
方式二:具名和匿名挂载
[root@VM-12-16-centos ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
43c0eba85449 tomcat "catalina.sh run" 6 days ago Up 6 days 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp tomcat01
f594e620f359 nginx "/docker-entrypoint.…" 6 days ago Up 6 days 0.0.0.0:3344->80/tcp, :::3344->80/tcp nginx01
4d241f98e11a centos "/bin/bash -c 'while…" 7 days ago Up 7 days nice_dewdney
[root@VM-12-16-centos ~]# docker run -d -P --name nginxtest -v /etc/nginx nginx
f467d3c292c0c2ad6567eda3a13eb2556eb7a9b6b3e50f7325a4352a32b9238f
[root@VM-12-16-centos ~]# docker volume ls
DRIVER VOLUME NAME
local 5ed968a63ef344d47b5b95dc00210a8ff3fab1d2fd2308c4db0266db89deebe8
[root@VM-12-16-centos ~]# docker run -d -P --name nginxtest02 -v jumingnginx:/etc/nginx nginx
2f35d38119ab35da0886862fbc470d49db47403969a2a368fa3118583f98f846
[root@VM-12-16-centos ~]# docker volume ls
DRIVER VOLUME NAME
local 5ed968a63ef344d47b5b95dc00210a8ff3fab1d2fd2308c4db0266db89deebe8
local jumingnginx
[root@VM-12-16-centos ~]# docker volume inspect jumingnginx
[
{
"CreatedAt": "2022-01-09T09:22:22+08:00",
"Driver":