【故障处理系列--docker卷的挂载】

一位伙伴需求是把容器的目录映射到宿主机且容器目录的内容不被宿主机的空白目录覆盖。我的第一反应是-v 卷的映射,参数是对的,但是用法是错的

1、容器卷的挂载方式

  1. 容器把目录映射到宿主机
  2. 创建volume卷,然后把容器的目录和volume卷绑定
    区别:方法一宿主机目录会覆盖容器目录的内容,而方法二则不会

2、实现需求

2.1创建volume卷并和宿主机目录绑定

root@jumpserver-work:/app# docker volume create --driver local --opt type=none --opt device=/app --opt o=bind nginx-data
nginx-data
root@jumpserver-work:/app# docker volume ls
DRIVER    VOLUME NAME
local     c0a415b256bfa82b57e892f4ba2e3588294462951650e37a6cb3a9cc1070f4c2
local     nginx-data

2.2把volume卷挂载到容器

root@jumpserver-work:/app# docker run -d --name=nginx-test-volume -v nginx-data:/etc/nginx nginx
d79dd360acab162c6eb071e016e44a68587928a1a3cb919ccb8f8f20361fffef
root@jumpserver-work:/app# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS     NAMES
d79dd360acab   nginx     "/docker-entrypoint.…"   2 seconds ago   Up 2 seconds   80/tcp    nginx-test-volume
root@jumpserver-work:/app# cd /app/
root@jumpserver-work:/app# ls
conf.d  fastcgi_params  mime.types  modules  nginx.conf  scgi_params  uwsgi_params

3、注意

有的服务一些文件是启动才生成的,会产生一种错觉,docker -v映射容器目录到宿主机空目录后,不会覆盖容器目录的内容。直接挂载宿主机的空目录会覆盖容器原来目录的内容

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值