医药网站建设客户的需求,我要表白网在线生成,山东恒昆建设工程有限公司网站,html5网站后台Docker#xff1a;数据卷挂载 1. 数据卷2. 数据卷命令补充 1. 数据卷
数据卷(volume)是一个虚拟目录#xff0c;是容器内目录与宿主机目录之间映射的桥梁。 Nginx容器有自己独立的目录(Docker为每个镜像创建一个独立的容器,每个容器都是基于镜像创建的运行实例)#xff0c;… Docker数据卷挂载 1. 数据卷2. 数据卷命令补充 1. 数据卷
数据卷(volume)是一个虚拟目录是容器内目录与宿主机目录之间映射的桥梁。 Nginx容器有自己独立的目录(Docker为每个镜像创建一个独立的容器,每个容器都是基于镜像创建的运行实例)如上图Nginx会有一个保存静态资源的目录/usr/share/nginx/html和保存配置文件的目录/etc/nginx/conf。
我们在容器内进行修改时非常麻烦的这时候就需要数据卷。
数据卷
数据卷是宿主机中的一个目录或文件当容器目录和数据卷目录绑定后对方的修改会立即同步一个数据卷可以被多个容器同时挂载一个容器也可以被挂载多个数据卷
数据卷作用
容器数据持久化外部机器和容器间接通信容器之间数据交换
数据卷所在宿主机的位置 一般都是/var/lib/docker/volumes/html/_data 与 /var/lib/docker/volumes/conf/_data
2. 数据卷命令
docker volume create 创建数据卷docker volume ls 查看所有数据卷docker volume rm 删除指定数据卷docker volume inspect 查看某个数据卷的详情docker volume prune 清除数据卷 注意容器与数据卷的挂载要在创建容器时配置对于创建好的容器是不能设置数据卷的。而且创建容器的过程中数据卷会自动创建。
演示一下nginx的html目录挂载
# 1.首先创建容器并指定数据卷注意通过 -v 参数来指定数据卷\
docker rm -f nginx
docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx# 2.然后查看数据卷
docker volume ls
# 结果
DRIVER VOLUME NAME
local 29524ff09715d3688eae3f99803a2796558dbd00ca584a25a4bbc193ca82459f
local html# 3.查看数据卷详情
docker volume inspect html 这个命令可以查找卷挂载到宿主机哪个位置
# 结果
[{CreatedAt: 2024-05-17T19:57:0808:00,Driver: local,Labels: null,Mountpoint: /var/lib/docker/volumes/html/_data,Name: html,Options: null,Scope: local}
]# 4.查看/var/lib/docker/volumes/html/_data目录
ll /var/lib/docker/volumes/html/_data
# 可以看到与nginx的html目录内容一样结果如下
总用量 8
-rw-r--r--. 1 root root 497 12月 28 2021 50x.html
-rw-r--r--. 1 root root 615 12月 28 2021 index.html# 5.进入该目录并随意修改index.html内容
cd /var/lib/docker/volumes/html/_data
vi index.html# 6.打开页面查看效果# 7.进入容器内部查看/usr/share/nginx/html目录内的文件是否变化
docker exec -it nginx bash查看宿主机与镜像绑定的内容 更改宿主机的html文件容器也会跟着修改 补充
docker rm -f 命令用于强制删除一个或多个正在运行的Docker容器。下面解释一下这个命令的作用
docker rm这个部分表示删除容器的命令。-f这个选项表示强制删除容器即使容器正在运行或有其他相关的资源被引用。
通常如果要删除一个正在运行的容器Docker会在容器停止后才允许删除。但是如果您使用-f选项Docker将强制停止正在运行的容器并立即删除它。
当您使用docker rm -f命令时Docker会立即停止并删除指定的容器。这对于需要快速清理容器或处理某些问题的情况非常有用。但是要注意这可能会导致数据丢失因此谨慎使用该命令。 docker rmi nginx:latest命令用于从本地Docker镜像中删除指定的镜像。下面解释一下这个命令的作用
docker rmi这个部分表示删除镜像的命令。nginx:latest这个是要删除的镜像的名称和标签。在这个示例中nginx是镜像的名称latest是标签。
运行这个命令后Docker将会尝试删除本地存储中的nginx:latest镜像。如果该镜像没有被其他容器所使用并且没有其他标签与之关联那么该镜像将被成功删除。
请注意一旦您删除了一个镜像将无法再使用该镜像来创建新的容器实例。如果在删除之前没有备份或推送该镜像到远程仓库那么该镜像将无法恢复。因此在执行docker rmi命令之前请确保您不再需要该镜像或已经有其他适当的备份和操作。
如果您想要删除具有多个标签的镜像您可以使用相同的docker rmi命令并列出要删除的所有标签。例如docker rmi nginx:latest nginx:1.18将同时删除nginx:latest和nginx:1.18两个镜像。