Docker挂载容器卷方式

2024-12-21  本文已影响0人  sunpy

什么是容器卷?

卷就是目录或文件,存在于多个Docker容器中,卷的设计目的就是数据的持久化,完全独立于容器的生命周期,因此docker不会再容器删除时删除其挂载的数据卷。

为什么要挂载容器卷?

Docker命令挂载容器卷

docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名

挂载单个文件

docker run -d --name 容器名 --restart = always -v 外部文件路径/外部文件名:容器文件路径/容器文件名

挂载文件夹

docker run -d --name 容器名 --restart = always -v 外部文件夹路径/外部文件夹名:容器文件夹路径/容器文件夹名

实战1,docker部署nginx,挂载nginx的内置文件

  1. 搜索下载镜像
# 搜索镜像
docker search nginx
# 下载镜像
docker pull nginx
# 查看镜像
docker images
  1. 启动nginx,容器名为mynginx
docker run -d --name mynginx -p 3500:80 nginx
  1. 将容器中nginx的文件复制到外部文件夹/home/nginx-conf
docker cp mynginx:/etc/nginx/nginx.conf /home/nginx-conf/
docker cp mynginx:/etc/nginx/conf.d/ /home/nginx-conf/conf/
docker cp mynginx:/usr/share/nginx/html/ /home/nginx-conf/html/
docker cp mynginx:/var/log/nginx/ /home/nginx-conf/logs/
  1. 关闭删除容器
# 关闭容器
docker stop container_id
# 删除容器
docker rm container_id
  1. 重新启动nginx容器,启动时挂载容器卷
docker run \
-v /home/nginx-conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx-conf/conf:/etc/nginx/conf.d \
-v /home/nginx-conf/html:/usr/share/nginx/html \
-v /home/nginx-conf/logs:/var/log/nginx \
-d --name mynginx -p 3500:80 nginx

疑问,外部文件变化是否会改变内部的文件

上一篇 下一篇

猜你喜欢

热点阅读