我该如何解决“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"