【问题标题】:installations disappearing on google compute engine谷歌计算引擎上的安装消失
【发布时间】:2016-02-08 19:02:00
【问题描述】:

我在 google 计算引擎上遇到了一些奇怪的行为。我用 ubuntu 创建了一个新实例。我安装了一个我正在开发的节点应用程序,从 github 等中提取代码......

然后我安装了 mongodb 和 nginx。奇怪的是,每次我离开会话并重新连接时,我的 mongodb 和 nginx 安装文件都会消失。

例如,当我安装 nginx 时,我在 /etc/nginx 上找到了 nginx 安装,在那里我可以找到 nginx.conf。但是当我离开计算引擎控制台会话并稍后重新连接时,该目录就消失了。 mongodb 也发生了同样的事情。

我在/home/abdul/mystuff 下的节点安装并没有消失。

这正常吗?是设置吗?


详情:

  1. 这是一个 ubuntu 映像(idk 哪个版本,不知道如何检查)
  2. 使用以下方式安装nginx:
sudo apt-get update
sudo apt-get install nginx
  1. 命令结果
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda      8:0    0  10G  0 disk 
└─sda1   8:1    0  10G  0 part /var/lib/docker/aufs
sdb      8:16   0   5G  0 disk 
└─sdb1   8:17   0   5G  0 part /home

【问题讨论】:

  • 您是否有可能使用Preemptible VMs?。抢占式 VM 是更实惠、寿命短的计算实例,适用于批处理作业和容错工作负载。
  • @VadimSolovey 我不这么认为......我会检查但我只是用 ubuntu 制作了一个标准 vm。节点应用程序目录并没有消失,只是我安装的东西
  • 此实例上是否有多个磁盘设备?如果是这样,这些设备之一是否可能是 LocalSSD 设备?
  • 不是只有一个磁盘“标准永久性磁盘”
  • 能否请您提供:1)您的 linux 发行版和版本 2)您用于安装 nginx 的命令 3)lsblk 命令的输出

标签: mongodb nginx google-compute-engine


【解决方案1】:

看起来您正在您的实例 (/var/lib/docker/aufs) 上运行 Docker 容器并在容器内安装软件。

如果您想将更改保存回映像,可以使用 docker commit 命令,但这几乎绝对不是您想要的。

相反,您可以使用 Dockerfile 构建映像并在您想要进行更改时对其进行更新。这样您就可以轻松地重新创建图像并进行更改,而无需从头开始。对于持久性(例如配置文件和数据库),使用卷,它们只是存储在联合文件系统之外的目录,作为主机上的普通目录。

【讨论】:

  • 所以如果我在联合文件系统之外安装任何东西,它应该不会消失吧?在联合文件系统之外安装 nginx/mongodb 不好吗?
  • 如果你将它安装在实例本身而不是 docker 容器内,那么是的 - 它不会在重启时消失。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-12
  • 2015-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-13
相关资源
最近更新 更多