如何在GCE上将存储卷挂载到Docker容器的指定路径
GCE上挂载配置目录部署Docker镜像的可行方案
以下是两种最常用的实现方案,可根据你的需求选择:
方案1:虚拟机本地目录挂载(最贴近本地使用习惯)
这个方案和你本地部署逻辑完全一致,操作成本最低:
- 创建GCE实例时可直接选择预装Docker的容器优化OS,也可以选择常规Debian/Ubuntu镜像自行安装
docker和docker-compose - 本地执行scp命令将配置文件夹上传到GCE实例:
scp -r ~/Code/Bot-Relay/matterbridge 实例用户名@实例公网IP:/home/实例用户名/ - 把本地的
docker-compose.yml上传到实例后,仅需修改volumes路径为实例上的配置文件路径即可:version: '3.7' services: matterbridge: image: 你的GCR镜像地址 restart: unless-stopped volumes: - /home/实例用户名/matterbridge:/etc/matterbridge - 在实例内执行
docker-compose up -d即可启动服务,效果和本地部署完全一致
方案2:持久化磁盘挂载(配置文件持久化不丢失)
如果需要避免实例重建/故障时配置文件丢失,可以使用GCE独立持久化磁盘存储配置:
- 在GCP控制台创建一块和目标实例同可用区的持久化磁盘,容量10G即可满足配置存储需求
- 将磁盘挂载到GCE实例后完成格式化,配置开机自动挂载到实例路径如
/mnt/matterbridge-config - 将本地配置文件上传到该挂载路径下,修改
docker-compose.yml的volumes配置:volumes: - /mnt/matterbridge-config:/etc/matterbridge - 后续即使实例删除重建,只需将该磁盘重新挂载到新实例,无需重新上传配置即可直接启动服务
如果你使用GCE创建页的「直接部署容器」功能(无需自行安装Docker),只需在创建实例的容器选项-卷配置中,添加主机路径挂载,主机路径填实例上的配置存储路径,容器路径填/etc/matterbridge即可实现相同效果。
内容的提问来源于stack exchange,提问作者hummmingbear
相关产品推荐
相关产品推荐

