我试图每小时备份一个带有cron作业的坞上的mysql数据库,但是当我构建这个对接器并执行service cron status时,它总是说"cron不运行“。
只有当我在对接器中执行命令service cron start时,它才能工作,但我不能使用它。
我的Dockerfile.mysql:
FROM ubuntu/mysql
COPY ./app/db/mydbname.sql /docker-entrypoint-initdb.d/
# Add sql_backup file in the cron directory
ADD sql_backup /etc/cron.d/sql_backup
# Create the log file to be able to run tail
RUN touch /var/log/cron.log
# Run the command on container startup
CMD crond -l 2 -fsql_backup
* * * * * mysqldump -uroot -pmypassword mydb > /backups/mydbname.sql
* * * * * echo "Hello world" >> /var/log/cron.log 2>&1码头工人-复合公司
db:
image: ubuntu/mysql
build:
context: .
dockerfile: ./Dockerfile.mysql
# NOTE: use of "mysql_native_password" is not recommended: https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password
# (this is just an example, not intended to be a production configuration)
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: example
network_mode: bridge我已经尝试过将DockerFile.mysql的最后一行切换到CMD ["cron", "-f"]、CMD cron && tail -f /var/log/cron.log等。
发布于 2022-11-03 17:57:11
我不能让Cron和MySQL在同一个容器上运行。我已经将cron移动到另一个容器,现在运行MySQL备份。
https://stackoverflow.com/questions/74293242
复制相似问题