Dropbox在Docker
我想在Docker容器中运行Dropbox.这样,我可以通过将数据上传到Dropbox来与docker同步数据.并且还维护数据备份,这在运行新版本的docker图像时将是有用的. 创建了这个简单的Dockerfile
和服务文件dropbox.sh
在建立并运行Docker镜像后,Dropbox说: 并提供与Dropbox帐户关联到当前计算机的链接. 我提交了docker更改
但是当杀死码头容器并再次运行时Dropbox坚持认为: 我确认在容器内,文件夹/ root / Dropbox存在,数据在那里,在上一个容器执行期间同步.但是我的容器丢失了到Dropbox的链接,需要再次链接. 我失踪了什么容器执行之间如何保持Dropbox-Docker_container链接? 最佳答案
构建并运行Dockerfile后,遇到的第一个问题是runit抱怨丢失的权限.复制服务脚本后,需要添加RUN chmod x / etc / service / dropbox / run.
研究重新启动之间的变化,我发现/root/.dropbox/instance1/hostkeys和/root/.dropbox/instance_db/hostkeys更改.这可能与您使用的Phusion图像有关,尽管我不知道为什么.我的猜测是,这是因为您通过exec运行dropboxd(因此不使用Bash),每次运行它(=启动容器)时,进程都没有可见的用户主文件夹,从哪里可以获得以前的配置.可能,将exec从服务脚本中删除. 但是,您可以使用此示例缩小整个过程(和图像)Dockerfile我鞭打了:
只要运行一次,就可以这样:docker -t -h< HOSTNAME> –name dropbox-auth my-dropbox-image. Dropbox链接时复制auth链接和Ctrl-C. < HOSTNAME>可以是更具描述性的标题,以便您可以在Dropbox帐户的安全设置中更轻松地找到该标题. 提交:docker commit dropbox-auth dropbox 之后只需运行它:docker run -d –name my-dropbox-container dropbox 由于Dropbox在Dropbox主文件夹中存储有关本身的信息,因此无法更改.但是,您可以在上述所有步骤中使用-v标志(see here)链接到本地??文件夹(容器外部).这将在Linux上工作100%,在Mac OS X上,它是“有时它有效,有时它不”. 根据您希望在容器中运行Dropbox的原因,-v标志(通过将主机文件夹与容器文件夹相链接)可能正是您正在寻找的,可能会使Dropbox设置不必要. 奖金提示:如果要访问运行容器中的shell,则从Docker 1.3起,您不再需要SSH.您可以使用docker exec -it< CONTAINER> / bin / bash存档同一个目标. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |