我该如何解决“crontab:你的UID不在passwd文件中。 救助“。

您好我使用的是Docker , 每当写入cron调度规则,但是当我运行whenever --update-crontab在我的docker集装箱这个错误显示给我。

 crontab: your UID isn't in the passwd file. bailing out. [fail] Couldn't write crontab; try running `whenever' with no options to ensure your schedule file is valid. 

Dockerfile

 FROM ruby:2.4.1-slim RUN apt-get update && apt-get -y install cron ENV RAILS_ENV production ENV INSTALL_PATH /app RUN mkdir -p $INSTALL_PATH WORKDIR $INSTALL_PATH COPY Gemfile Gemfile.lock ./ RUN bundle install --binstubs --jobs 20 --retry 5 COPY . . RUN chown -R nobody:nogroup /app USER nobody # use docker run -it --entrypoint="" demo "ls -la" to skip EXPOSE 3000 CMD puma -C config/puma.rb 

Docker版本: Docker version 17.05.0-ce, build 89658be

我的Docker撰写文件

  chatbot_web: container_name: chatbot_web depends_on: - postgres - chatbot_redis - chatbot_lita user: "1000:1000" build: . image: dpe/chatbot ports: - '3000:3000' volumes: - '.:/app' restart: always 

我该如何解决这个问题?

编辑:当我使用:

 host$ docker run -it dpe/chatbot bash container $ whenever --update-cron [write] crontab file updated 

工程,但是当我使用:

 host$ docker exec -it chatbot_web bash I have no name!@352c6a7500d2:/app$ whenever --update-cron crontab: your UID isn't in the passwd file. bailing out. [fail] Couldn't write crontab; try running `whenever' with no options to ensure your schedule file is valid. 

不要工作=(

要解决我在Dockerfile和docker-compose中使用相同的用户

Dockerfile

 RUN chown -R nobody:nogroup /app USER nobody 

Docker撰写

  chatbot_web: user: "nobody:nogroup"