Docker12:容器数据卷

Docker12:容器数据卷

Created
Nov 16, 2021 12:39 PM
Last Edited
Last updated December 2, 2021
Tags

1. 前言

如果数据保存在容器中,那么容器删除了,数据就会丢失。需求:数据可以持久化。
容器之间可以有一个数据共享的技术。Docker容器中产生的数据,同步到本地。
这就是卷技术。将容器内的数据、目录挂载到Linux上面。
 

2. 数据卷使用

docker run -it -v 主机目录:容器目录 # 测试,挂载目录 docker run -it -v /home/ceshi:/home centos /bin/bash # 查看 docker inspect 容器id
notion image
 

3. 测试一

3.1 容器内创建文件

[root@3e59099fc3b6 /]# cd /home [root@3e59099fc3b6 home]# ls [root@3e59099fc3b6 home]# touch test.py

3.2 主机内查看

root@docker:/home# cd ceshi/ root@docker:/home/ceshi# ll total 8 drwxr-xr-x 2 root root 4096 11月 16 21:57 ./ drwxr-xr-x 4 root root 4096 11月 16 21:50 ../ -rw-r--r-- 1 root root 0 11月 16 21:57 test.py
 
 

4. 测试二

4.1 关闭容器

[root@3e59099fc3b6 home]# exit exit root@docker:/home/henggao/Desktop#

4.2 在主机中修改文件

# 在主机中修改test.py,写入内容 root@docker:/home/ceshi# vim test.py root@docker:/home/ceshi# cat test.py print("Hello Python") root@docker:/home/ceshi#

4.3 启动容器

# 1. 查看容器id root@docker:/home/henggao/Desktop# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3e59099fc3b6 centos "/bin/bash" 15 minutes ago Exited (0) 3 minutes ago condescending_bassi 2dd5701e1210 tomcat "catalina.sh run" 39 minutes ago Up 39 minutes 0.0.0.0:3355->8080/tcp, :::3355->8080/tcp tomcat01 f57f1e27658f portainer/portainer-ce "/portainer" About an hour ago Exited (2) 57 minutes ago portainer 29bd213d8487 elasticsearch:7.14.2 "/bin/tini -- /usr/l…" 2 hours ago Exited (143) 57 minutes ago elasticsearch02 96380d19d7f2 elasticsearch:7.14.2 "/bin/tini -- /usr/l…" 2 hours ago Exited (143) 2 hours ago elasticsearch # 2. 启动容器 root@docker:/home/henggao/Desktop# docker start 3e59099fc3b6 3e59099fc3b6 # 3. 进入容器 root@docker:/home/henggao/Desktop# docker attach 3e59099fc3b6 # 4.查看容器内文件 [root@3e59099fc3b6 /]# cd /home [root@3e59099fc3b6 home]# cat test.py print("Hello Python") [root@3e59099fc3b6 home]#