0
こんにちは私はDocker
とwheneverを使用してcronのスケジュールルールを書いていますが、私はwhenever --update-crontab
を私のドッカーコンテナに入れてこのエラーを表示しています。どのように私は "crontabを解決することができます:あなたのUIDはpasswdファイルにありません。
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 version 17.05.0-ce, build 89658be
私ドッカーは、ファイル
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
どのように私はこの問題を解決することができますを構成しますか?
EDIT: 私が使用:
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 [email protected]:/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.
が、私は同じユーザーを使用修正するには(=
私はあなたがcrontabのジョブをスケジュールするために、間違ったユーザー名を使用していると思います。 –
どうすれば再現できますか?あなたのホスト、Dockerのバージョン、 'Dockerfile'、' docker run'コマンドに関する情報は一切与えていません。可能であれば、それを再現するための十分な情報をお知らせください。 –
@AndyShinn申し訳ありませんが、私は私の答えを更新! –