Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在安装在谷歌云虚拟机上的RStudio上保持软件包的完整性_R_Docker_Google Cloud Platform_Google Compute Engine_Docker Volume - Fatal编程技术网

如何在安装在谷歌云虚拟机上的RStudio上保持软件包的完整性

如何在安装在谷歌云虚拟机上的RStudio上保持软件包的完整性,r,docker,google-cloud-platform,google-compute-engine,docker-volume,R,Docker,Google Cloud Platform,Google Compute Engine,Docker Volume,我从Google控制台启动R studio VM实例。我从R studio安装了许多软件包。现在,一旦我停止VM并重新启动它,包就会被删除。 因此,我必须再次重新安装软件包 我在网上看到了很多关于在安装软件包后创建映像,然后在上面创建VM的文章 但我想每次都使用相同的虚拟机 在某个地方,我知道这是由于重新启动docker。 你能告诉我应该对控制台做什么更改,这样dockerfile就不会重新启动了吗。这样我就不必在每次启动VM时都安装软件包。我相信您对所使用的工具感到有点困惑 首先如果您在Doc

我从Google控制台启动R studio VM实例。我从R studio安装了许多软件包。现在,一旦我停止VM并重新启动它,包就会被删除。 因此,我必须再次重新安装软件包

我在网上看到了很多关于在安装软件包后创建映像,然后在上面创建VM的文章

但我想每次都使用相同的虚拟机

在某个地方,我知道这是由于重新启动docker。
你能告诉我应该对控制台做什么更改,这样dockerfile就不会重新启动了吗。这样我就不必在每次启动VM时都安装软件包。

我相信您对所使用的工具感到有点困惑

首先如果您在Docker上运行应用程序,那么每次退出应用程序时,您都会“丢失”对计算机所做的所有更改,这是正常的,Docker容器不是虚拟机

如果要继续使用docker容器解决方案,基本上有以下几种可能性:

  • 如果您对基本图像感兴趣(请注意,每次要“保存”时都应遵循此步骤),您可以阅读此答案

  • 如果要将数据持久化到容器中,可能需要查看docker卷。参观docker文档是一个非常好的开始,但问题也可能有用

  • 当您使用docker run启动容器时,它实际上会根据您指定的图像创建一个新容器

    docker ps -a
    docker start f357e2faab77 # restart it in the background
    docker attach f357e2faab77 # reattach the terminal & stdin
    

但是,您确定最好的方法是运行docker容器,而不是在普通的Google Cloud Plaform实例上运行吗

谢谢,但当我在谷歌云中创建虚拟机时,它会自动附加一个docker。没有办法阻止这一切。我想使用持久性磁盘,使其与笔记本电脑的普通磁盘一样工作/告诉我一种在google cloud上使用Rstudio的方法,就像我在PC上使用Rstudio一样。我按照此()在VM上安装了Rstudio。唯一的问题是,一旦我重新启动虚拟机,已安装的R软件包就会被删除。因为一开始你对Docker并不太熟悉,所以要理解它是如何工作的,以及如何继续使更改“持久化”,可能有点棘手。我建议您阅读一点文档和我发送给您的Stackoverflow问题,以便更好地理解它,或者在虚拟机上进行正常安装,这样您可以更轻松地处理。这篇文章向你展示了如何一步一步地做