Скрипт Python3 случайным образом заканчивается в контейнере докеров

Я новичок в Docker и сталкиваюсь с некоторыми недоразумениями новичков в использовании / концепциях Docker.

Как я запускаю построенный образ:

docker run -d -p 7070:80 --name mov_container my_image

Мой Dockerfile:

FROM php:7.1-apache

RUN apt-get update
RUN apt-get install -y python3
RUN apt-get install -y python3-pip
RUN pip3 install requests
RUN pip3 install pymysql

COPY src/ /var/www/html/
COPY Movement_Tracker.py /var/movtrack/

RUN docker-php-ext-install mysqli
RUN docker-php-ext-enable mysqli
apachectl restart

EXPOSE 80
CMD python3 /var/movtrack/Movement_Tracker.py > flog.log

Это Dockerfile для проверки?

Кажется, что "Movement_Tracker.py" останавливается каждый второй или третий день. Но сценарий рассчитан на бесконечное выполнение.

Точнее:

  • ps aux | grep python3 на хосте (где установлен докер) показывает процесс python3.
  • Внутри контейнера (exec -it...ps aux | grep python3) не отображается процесс python3.
  • Задача скрипта - записать некоторые данные датчиков в базу данных, чего больше не происходит. (Как уже упоминалось через 2 или 3 дня)

Мои вопросы:

  1. Есть ли у меня антипаттерн, потому что там работает служба apache и нескончаемый скрипт python3?
  2. Почему скрипт python3 все еще виден на хосте, а не в контейнере? Но это явно больше не работает.
  3. Разрешено ли запускать apache / php и скрипт python в одном контейнере?
  4. Почему случайным образом останавливает скрипт python3 (при условии, что ошибки скрипта нет?)

Заранее спасибо.

Можете ли вы вставить результат выполнения ps aux в контейнер?

Yuankun 24.03.2018 15:42

Apache не будет работать в этом контейнере, поскольку Apache запускается не в точке входа, а в процессе сборки.

sneep 24.03.2018 16:30
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
91
0

Другие вопросы по теме