cron.d의 크론은 Docker 컨테이너 내에서 실행되는 Ubuntu에서 실행되지 않습니다.

user7692855

나는 주로 스크래피 스크레이퍼로 구성된 아주 작은 프로그램을 작성했습니다. 도커 컨테이너에 패키징되어 있으며 cron에 의해 호출되는 스크레이퍼가 필요합니다.

내 docker-compose 파일은 다음과 같습니다.

version: '2'
services:
  admin-panel:
    env_file: ./Admin-Panel/.env
    build: ./Admin-Panel/
    volumes:
      - ./Admin-Panel/app:/code/app
      - ./Admin-Panel/flaskadmin.py:/code/flaskadmin.py
    ports:
      - "5000:5000"
  scraper:
    env_file: ./Admin-Panel/.env
    build: ./Scraper/
    volumes:
      - ./Scraper/spiders:/spiders

내 Scraper Dockerfile은 다음과 같습니다.

FROM ubuntu:latest
ENV TERM xterm

RUN apt-get update
RUN apt-get install -y python3-pip python3.5-dev build-essential  
RUN apt-get install -y libssl-dev nano cron libpq-dev libffi-dev curl

ADD ./requirements /requirements
ADD crontab /etc/cron.d/scrapers

RUN pip3 install --upgrade pip
RUN pip3 install -r /requirements/base.txt

RUN touch /var/log/cron.log

CMD cron && tail -f /var/log/cron.log

내 crontab은 다음과 같습니다.

* * * * * root /usr/local/bin/scrapy runspider /spiders/myspider.py
* * * * * root /bin/date >> /tmp/cron_output

이것은 Sierra를 실행하는 Mac에서 로컬로 실행할 때 완벽하게 작동하지만 Amazon Linux AMI를 실행하는 Amazon EC2 인스턴스에 넣으면 크론이 호출되지 않습니다. Filezilla를 사용하여 Mac에서 Amazon EC2 인스턴스로 파일을 전송했습니다.

AWS EC2 :

Docker 버전 1.12.6, 빌드 7392c3b / 1.12.6

내 MacBook :

Docker 버전 17.03.0-ce, 빌드 60ccb22

줄을 추가하면

* * * * * root /bin/date >> /tmp/cron_output

crontab -e를 사용하면 아무 일도 일어나지 않습니다. cron.log 파일이 비어 있습니다.

최신 정보:

rsyslog를 설치 한 다음 시작했습니다.

service rsyslog start

이제 / var / log / syslog에서

3 월 25 일 21:49:01 4406b0e05b9f CRON [464] : 지정된 세션에 대한 항목을 만들거나 제거 할 수 없습니다.

user7692855

마침내 https://github.com/sameersbn/docker-gitlab/issues/173 덕분에 해결책을 찾았습니다.

/etc/pam.d/cron에서 다음 줄을 주석 처리했습니다.

session    required     pam_loginuid.so

docker-compose에서 자동으로이 작업을 수행하는 방법을 알아 내면됩니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

docker 컨테이너는 Dockerfile에서 실행되지만 docker-compose에서는 실행되지 않습니다.

분류에서Dev

cron 작업이 도커 컨테이너에서 실행되지 않습니다.

분류에서Dev

Docker가 내부에서 실행되는 Docker 컨테이너를 실행하는 방법은 무엇입니까?

분류에서Dev

Docker 명령은 빌드 중에 실패하지만 실행중인 컨테이너 내에서 실행되는 동안 성공합니다.

분류에서Dev

Ruby 이미지의 Docker 컨테이너에서 cron을 실행하는 방법

분류에서Dev

Docker 컨테이너 내에서 실행되는 Django 앱에 액세스하는 방법은 무엇입니까?

분류에서Dev

Vagrant 내부에서 실행되는 Docker 컨테이너에 Ssh하는 방법은 무엇입니까?

분류에서Dev

Vagrant 내부에서 실행되는 Docker 컨테이너에 Ssh하는 방법은 무엇입니까?

분류에서Dev

MMV는 bash 스크립트에서 실행되지 않습니다 (CRON에서 실행되는 경우에만).

분류에서Dev

localhost의 docker 컨테이너에서 실행되는 django 사이트를 볼 수 없습니다.

분류에서Dev

Docker 컨테이너에서 실행되는 Azure 함수에는 내부에 다른 파일이 있습니다.

분류에서Dev

Bash 스크립트가 도커 컨테이너 내에서 제대로 실행되지 않습니다.

분류에서Dev

Docker 호스트에서 실행되는 컨테이너의 최대 수가 있습니까?

분류에서Dev

레이크 작업은 로컬에서 실행되지만 Heroku에서는 실행되지 않습니다.

분류에서Dev

Docker 컨테이너에서 실행되는 .NET Core 애플리케이션에서 생성되지 않은 로그 파일

분류에서Dev

Docker 컨테이너 내부에서 실행되는 Python 스크립트에 인수를 전달하는 방법은 무엇입니까?

분류에서Dev

/etc/cron.d에서 Crontab이 실행되지 않음

분류에서Dev

/etc/cron.d에서 Crontab이 실행되지 않음

분류에서Dev

btrfs는 cron에서 실행되지 않습니다.

분류에서Dev

Docker 컨테이너는 localhost에서 실행되는 서버에 연결할 수 없습니다.

분류에서Dev

EC2에서 실행되는 Docker 컨테이너에서 elasticache redis에 연결할 수 없습니다.

분류에서Dev

PHP에서 실행되는 쉘 스크립트이지만 sh 스크립트의 명령은 실행되지 않습니다.

분류에서Dev

sudo에서 실행되지 않는 cron 스크립트

분류에서Dev

Docker Windows 컨테이너에서 실행되는 .Net Core Angular 앱

분류에서Dev

Azure App Service에서 실행되는 고객 Docker 이미지의 컨테이너 ID 찾기

분류에서Dev

Docker : Win10에서 우분투를 실행하는 컨테이너에 마운트 된 dir에서 git 작업이 허용되지 않습니다.

분류에서Dev

로컬에서 실행되지만 Docker 컨테이너에는없는 FastAPI 앱

분류에서Dev

내 스크립트는 터미널에서 실행할 때 잘 실행되지만 cron에서는 작동하지 않습니다. 왜?

분류에서Dev

이 bash 명령은 OSX에서 실행되지만 Busybox에서는 실행되지 않습니다. 왜?

Related 관련 기사

  1. 1

    docker 컨테이너는 Dockerfile에서 실행되지만 docker-compose에서는 실행되지 않습니다.

  2. 2

    cron 작업이 도커 컨테이너에서 실행되지 않습니다.

  3. 3

    Docker가 내부에서 실행되는 Docker 컨테이너를 실행하는 방법은 무엇입니까?

  4. 4

    Docker 명령은 빌드 중에 실패하지만 실행중인 컨테이너 내에서 실행되는 동안 성공합니다.

  5. 5

    Ruby 이미지의 Docker 컨테이너에서 cron을 실행하는 방법

  6. 6

    Docker 컨테이너 내에서 실행되는 Django 앱에 액세스하는 방법은 무엇입니까?

  7. 7

    Vagrant 내부에서 실행되는 Docker 컨테이너에 Ssh하는 방법은 무엇입니까?

  8. 8

    Vagrant 내부에서 실행되는 Docker 컨테이너에 Ssh하는 방법은 무엇입니까?

  9. 9

    MMV는 bash 스크립트에서 실행되지 않습니다 (CRON에서 실행되는 경우에만).

  10. 10

    localhost의 docker 컨테이너에서 실행되는 django 사이트를 볼 수 없습니다.

  11. 11

    Docker 컨테이너에서 실행되는 Azure 함수에는 내부에 다른 파일이 있습니다.

  12. 12

    Bash 스크립트가 도커 컨테이너 내에서 제대로 실행되지 않습니다.

  13. 13

    Docker 호스트에서 실행되는 컨테이너의 최대 수가 있습니까?

  14. 14

    레이크 작업은 로컬에서 실행되지만 Heroku에서는 실행되지 않습니다.

  15. 15

    Docker 컨테이너에서 실행되는 .NET Core 애플리케이션에서 생성되지 않은 로그 파일

  16. 16

    Docker 컨테이너 내부에서 실행되는 Python 스크립트에 인수를 전달하는 방법은 무엇입니까?

  17. 17

    /etc/cron.d에서 Crontab이 실행되지 않음

  18. 18

    /etc/cron.d에서 Crontab이 실행되지 않음

  19. 19

    btrfs는 cron에서 실행되지 않습니다.

  20. 20

    Docker 컨테이너는 localhost에서 실행되는 서버에 연결할 수 없습니다.

  21. 21

    EC2에서 실행되는 Docker 컨테이너에서 elasticache redis에 연결할 수 없습니다.

  22. 22

    PHP에서 실행되는 쉘 스크립트이지만 sh 스크립트의 명령은 실행되지 않습니다.

  23. 23

    sudo에서 실행되지 않는 cron 스크립트

  24. 24

    Docker Windows 컨테이너에서 실행되는 .Net Core Angular 앱

  25. 25

    Azure App Service에서 실행되는 고객 Docker 이미지의 컨테이너 ID 찾기

  26. 26

    Docker : Win10에서 우분투를 실행하는 컨테이너에 마운트 된 dir에서 git 작업이 허용되지 않습니다.

  27. 27

    로컬에서 실행되지만 Docker 컨테이너에는없는 FastAPI 앱

  28. 28

    내 스크립트는 터미널에서 실행할 때 잘 실행되지만 cron에서는 작동하지 않습니다. 왜?

  29. 29

    이 bash 명령은 OSX에서 실행되지만 Busybox에서는 실행되지 않습니다. 왜?

뜨겁다태그

보관