无法在docker容器内运行服务

时间:2015-10-30 10:33:42

标签: makefile docker onedrive dockerfile docker-compose

我需要创建运行Onedrive客户端的docker容器,这样我就可以将数据同步到我的Onedrive帐户。

这是我创建的项目https://github.com/rischanlab/onedrive-ubuntu-docker

我创建了一个Makefile,通过该文件我们可以轻松地创建命令。

这是我的Makefile的例子

shell:
    @echo
    @echo "------------------------------------------------------------------"
    @echo "Shelling in in production mode"
    @echo "------------------------------------------------------------------"
    @docker-compose -p $(PROJECT_ID) run data /bin/bash

statusd:
    @echo
    @echo "------------------------------------------------------------------"
    @echo "Knowing Onedrive daemon status"
    @echo "------------------------------------------------------------------"
    @docker-compose -p $(PROJECT_ID) run data onedrive-d status

startd:
    @echo
    @echo "------------------------------------------------------------------"
    @echo "Running Onedrive daemon"
    @echo "------------------------------------------------------------------"
    @docker-compose -p $(PROJECT_ID) run data onedrive-d start

问题是当我运行make startd时,日志说onedrive-d已启动,但我仍然无法将数据同步到我的onedrive帐户,然后我使用命令{{1}检查了状态并且日志说onedrive-d没有运行。我很困惑为什么会这样。

注意:

  1. 当我登录容器make statusd时,我开始手动操作 make shell。它的工作原理,守护进程可以很好地启动我的文件 成功同步。

  2. 对于onedrive-d startdocker-compose.yml,我可以看到 我在上面提供的项目。

  3. 所以,有没有人可以向我解释,我的代码有什么问题?

1 个答案:

答案 0 :(得分:0)

}; foo.bar = function () { }; 没有按照您的期望行事。它用于在容器中运行一次性任务,而不是在现有容器中运行docker-compose run

如果您需要进入同一个容器,可以使用exec