您的位置:首页 > 本地本地

dockerfile中 volume指令怎么使用

admin2024-06-29人已围观

一、dockerfile中 volume指令怎么使用

直接docker run -v 跟本地目录 这样就就直接把本地的目录映射到容器指定目录

dockerfile 里的 volume指定的目录,里面内存变化的时候

docker commit的时候忽略里面的改变。

二、如何从本机传送一个目录到docker image中

Dockerfile 中 ADD 和 COPY 命令不能使用绝对路径,只能使用相对路径。这点在官方文档中说的比较清楚

如果不是非要把文件 build 到 image里,可以通过 run container 的时候通过 -v 参数将 host 文件或目录加载/共享到 container 里。

三、怎么将docker容器中断目录共享到宿主机

运行docker run --help 命令查看帮助文档

-v, --volume=[] Bind mount a volume

-v参数就是你说的挂载的卷。容器跑起来后,对里面所做的任何更改都是不能保存的。是只读的,所以你那样挂载没有意义。你想查看容器的运行状态?可以挂载比如/etc/等系统目录到容器中的/etc目录,这样应该可以。

四、如何在Docker容器之间共享数据

利用docker-compose可以编排服务,利用volumes_from来让容器之间共享数据。

参考:

Docker-Compose

docker-compose模板

希望可以帮到你

五、如何给容器服务的Docker增加数据盘

摘要: 我们知道Docker的数据是通过联合文件系统的方式存储到磁盘上,当需要在机器上运行的容器或者镜像的数量不断增加时,有可能磁盘的大小不再满足需求,这个时候就需要给Docker的数据目录通过增加数据盘的方式进行扩容。

Docker 数据目录

Docker默认的容器和镜像数据存储的目录是在/var/lib/docker下面,可以通过du命令查看这个目录目前占用的磁盘的大小,例如:

# du -h --max-depth=0 /var/lib/docker

7.9G    /var/lib/docker

更换Docker的数据盘

因为很多Docker的镜像本身就挺大的,所以可能用不了几个镜像就会有很可观的一个磁盘占用,很容器就会导致磁盘空间不足,这个时候如何更换数据盘以满足再增加镜像或容器的需求,那就给Docker的数据目录增加块数据盘吧。

购买ECS数据盘,并挂载到需要扩容的机器上:

1. 通过ECS控制台购买需要的配置的云盘

2. 在ECS实例详情页->本实例磁盘->挂载磁盘中,选择刚才购买的磁盘,并记录挂载点/dev/xvd*或者/dev/vd*

登录到机器上,对刚才挂载的磁盘进行格式化:

1. 首先在机器上执行ls -l /dev/xvd*或者ls -l /dev/vd*看到和刚才记录的一致的磁盘id

2. 通过fdisk命令对磁盘进行分区,然后使用mkfs.ext4格式化磁盘,例如:

移动Docker的数据到新的磁盘:

1. 首先先停止Docker daemon,保证移动的时候数据完整,可以使用service docker stop命令停止

2. 先移动Docker的目录到一个备份的目录,例如:mv /var/lib/docker /var/lib/docker_data

3. 然后把新的格式化好的磁盘挂载到/var/lib/docker目录,例如:echo /dev/xvdb1 /var/lib/docker ext4 defaults 0 0 >>/etc/fstab && mkdir /var/lib/docker && mount -a

4. 把之前备份的docker数据移动到新的磁盘上,例如:mv /var/lib/docker_data/* /var/lib/docker/

启动Docker daemon,并检查数据位置:

1. 启动Docker daemon,service docker start

2. 执行df看到/var/lib/docker挂载到了新的磁盘上

3. docker ps看到容器没有丢失,根据需要再启动需要启动的没有restart:always标签的容器

很赞哦! ()

上一篇:掌阅ireader怎么导入本地图书'>谈谈自媒体、新媒体和融媒体

下一篇:返回列表'>返回列表

随机图文