【发布时间】:2022-08-19 15:53:35
【问题描述】:
问题是我的 crontab 没有在 docker 中运行。这是我的代码。
码头工人-compose.yml
version: \'3.1\'
services:
web:
container_name: autoping
restart: always
# image: php:7.4-apache
build: .
volumes:
- ./html:/var/www/html
ports:
- 80:80
depends_on:
- db
db:
image: mariadb:10.5.5
container_name: mine_mariadb
restart: unless-stopped
volumes:
- ./db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: xxx
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin:latest
container_name: mine_phpmyadmin
restart: always
ports:
- 8686:80
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: xxx
UPLOAD_LIMIT: 300
volumes:
db_data:
Dockerfile
FROM php:7.4-apache
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod uga+x /usr/local/bin/install-php-extensions && sync
RUN apt-get update && apt-get install -qq \\
curl \\
cron \\
vim \\
libzip-dev \\
&& docker-php-ext-install pdo_mysql mysqli zip \\
&& a2enmod rewrite
WORKDIR /var/www/html
RUN a2enmod rewrite headers
COPY autoCheck.cron /
RUN crontab /autoCheck.cron
自动检查.cron
*/1 * * * * php -q /var/www/html/crons/cron.php >/dev/null 2>&1
当我通过 web\'s 容器检查我的容器并输入 \"crontab -l\" 时。它显示了我的 autoCheck\' 代码,但代码没有运行。那么,如何使用 crontab 在 Docker 中工作?
-
一个 Docker 容器只运行一个进程,而你的镜像运行
php-fpm服务器。您需要第二个容器来运行 cron 守护程序。有关示例,请参见例如 How to run a cron job inside a docker container?。
标签: docker docker-compose cron dockerfile