@@ -1,9 +1,9 @@
# Use an official Python runtime as a parent image
-FROM python:3.10
+FROM python:3.12
# Set environment variables
-ENV PYTHONDONTWRITEBYTECODE 1
-ENV PYTHONUNBUFFERED 1
+ENV PYTHONDONTWRITEBYTECODE=1
+ENV PYTHONUNBUFFERED=1
# Set the working directory
WORKDIR /app
@@ -1,7 +1,7 @@
version: '3'
services:
db:
- image: mysql:8.0.36
+ image: mysql:8.4
container_name: error_report_web_db
restart: always
volumes:
@@ -17,7 +17,7 @@ trap 'docker rm -f $DB >/dev/null; docker network rm $NET >/dev/null' EXIT
# Root so Django can create the test database; testingpw isn't a secret.
docker run -d --name $DB --network $NET --network-alias db \
-e MYSQL_ROOT_PASSWORD=testingpw -e MYSQL_DATABASE=errorreport \
- mysql:8.0.36 >/dev/null
+ mysql:8.4 >/dev/null
until docker exec $DB mysql -h127.0.0.1 -uroot -ptestingpw -e 'SELECT 1' >/dev/null 2>&1; do
if [ "$(docker inspect -f '{{.State.Running}}' $DB)" != true ]; then
docker logs $DB | tail -5; exit 1
Python 3.10 is end of life in October 2026, MySQL 8.0 was in April 2026. Test against the same MySQL as compose. Use ENV key=value, which docker build no longer warns about. AI-Generated: Claude Opus 5.5 Signed-off-by: Tim Orling <tim.orling@konsulko.com> --- Dockerfile | 6 +++--- docker-compose.yaml | 2 +- docker/run-tests.sh | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-)