在放弃其他手段以适当地记录我的R
分析环境以达到分析可重复性的目的之后,我开始着手将每个单独的分析包装到docker
容器中。
这是我的工作:
从rocker
project中拉出最新的rstudio
容器:
docker pull rocker/rstudio
创建特定于项目的副本
docker run -d -p 8787:8787 rocker/rstudio # Produces baseID
docker commit --message="Snapshot of current rocker/rstudio container" <baseID> rstudio_project.2018
docker stop <baseID>
启动容器:
docker run -d -p 8787:8787 -e ROOT=TRUE rstudio_project.2018 # produces ID
R
(Studio
)的项目分析...以sudo apt-get clean
和sudo rm -rf /tmp/*
导出docker映像:
docker export -o docker_rstudio_project.2018.tar <ID>
xz docker_rstudio_project.2018.tar
从我的本地注册表中删除所有相关的容器/图像后,我尝试像这样重新模拟打包项目:
导入容器:
docker import docker_rstudio_project.2018.tar.xz rstudio_project.2018.2
(尝试)像对原始容器那样启动容器:
docker run -d -p 8787:8787 -e ROOT = TRUE rstudio_project.2018.2
然后我遇到以下错误:
docker: Error response from daemon: No command specified.
我在做什么错?容器在哪里丢失了(默认情况下)如何开始的信息?
答案 0 :(得分:2)
export
和import
命令仅处理文件系统,而不处理诸如要运行的命令之类的元数据。请改用save
和load
。另请参见https://github.com/moby/moby/issues/1826