Я пытаюсь запустить службу создания докеров из docker-compose.yaml. Предполагается, что служба будет основана на wordpress 5.7.0, но что бы я ни делал, я продолжаю получать файлы для wordpress 5.5.1. Я попытался обрезать все неиспользуемые образы, обрезать оборванные контейнеры, перезапустить докер, перестроить образы и другие команды. Я недостаточно знаю о докере, чтобы понять, почему старый базовый слой остался. Я считаю, что это отчасти потому, что я последний раз запускал это 8 месяцев назад, поэтому должны быть старые файлы, болтающиеся в слое или различиях или любых других пользователях докеров.
Мой docker-compose.yaml
начинается с этого:
version: "3.7"
services:
insights:
build:
context: .
dockerfile: Dockerfile.local
depends_on:
- database
- sass
ports:
- 8000:80
- 8443:443
restart: always
environment:
// ... some ENV variables
volumes:
- wordpress:/var/www/html:rw
- ./wp-content:/var/www/html/wp-content:rw
- ./wp-config.php:/var/www/html/wp-config.php:rw
// ... other volumes mounted, like xdebug and migrations
Dockerfile.local
выглядит так:
FROM wordpress:5.7.0
RUN apt-get update
&& apt-get install -y --no-install-recommends ssl-cert mariadb-client pv
&& rm -r /var/lib/apt/lists/*
&& a2enmod ssl
&& a2ensite default-ssl
RUN pecl install xdebug
&& docker-php-ext-enable xdebug
COPY entrypoint-local.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/entrypoint-local.sh
EXPOSE 443
ENTRYPOINT entrypoint-local.sh
docker ps
показывает работающий контейнер:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
91985439825d insights-wordpress_insights "/bin/sh -c entrypoi…" 18 minutes ago Up 18 minutes 0.0.0.0:8000->80/tcp, 0.0.0.0:8443->443/tcp insights-wordpress_insights_1
Если я выполню запуск в работающем контейнере и просматриваю файл, который ищу, я ожидаю увидеть версию 5.7.0, как указано в dockerfile.local
файл, но вместо этого я вижу неправильную версию:
docker exec -it 91985439825d bash
root@91985439825d:/var/www/html# cat wp-includes/version.php
<?php
/**
* WordPress Version
*
* Contains version information for the current WordPress release.
*
* @package WordPress
* @since 1.1.0
*/
/**
* The WordPress version string.
*
* @global string $wp_version
*/
$wp_version = '5.5.1';
я пытался
- здание без кеша:
docker-compose build --no-cache insights
- удаление контейнеров и образов и перестройка:
docker container rm <container ID>
- удаление изображения:
docker rmi insights-wordpress_insights
- обрезка всех изображений:
docker image prune -a
, который удаляет кучу слоев, я думаю - извлечение и построение самого базового образа:
docker run -it wordpress:5.7.0 bash
(что интересно не имеет/var/www/html/wp-includes/version.php
)