Я пытался использовать сети, но сеть с именем папки, объединенным с "_default", не найдена.
Если указать сеть следующим образом:
wpcli:
container_name: ...
image: wordpress:cli
working_dir: /var/www/html
depends_on:
- db
- wordpress
networks:
- A_default
Я получу:
ОШИБКА : служба "wpcli" использует неопределенную сеть "A_default"
, хотя на выходе docker network ls
существует A_default
.
Если я удаляю деталь:
networks:
- A_default
Я получаю эту ошибку:
wpcli_1 | Ошибка: это не похоже на установку WordPress.
wpcli_1 | Передайте --path = path/to/wordpress
или запустите wp core download
.
A_wpcli_1 с кодом 1
и только эту ошибку на выходе docker-compose up
.
Если я использую
volumes:
- /var/www/html
внутри секции wpcli
моего docker-compose.yml
, я получаю ту же ошибку.
docker-compose.yml
Ниже мой docker-compose.yml
с разумной информацией заменен на ...
:
version: '3.3'
services:
db:
container_name: A_db_1
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: "no"
environment:
MYSQL_DATABASE: '...'
MYSQL_USER: '...'
MYSQL_PASSWORD: '...'
MYSQL_ROOT_PASSWORD: ...
phpmyadmin:
container_name: A_phpmyadmin_1
depends_on:
- db
restart: "no"
ports:
- "8080:80"
image: phpmyadmin/phpmyadmin
environment:
PMA_HOST: db:3306
PMA_USER: root
PMA_PORT: 3306
PMA_PASSWORD: ...
wordpress:
container_name: A_wordpress_1
depends_on:
- db
image: wordpress:latest
ports:
- "80:80"
volumes:
- type: bind
source: ./html
target: /var/www/html
volume:
nocopy: true
restart: "no"
environment:
WORDPRESS_DB_NAME: '...'
WORDPRESS_DB_USER: '...'
WORDPRESS_DB_PASSWORD: '...'
WORDPRESS_DB_HOST: db:3306
WORDPRESS_TABLE_PREFIX: 'wp_'
WORDPRESS_AUTH_KEY: '...'
WORDPRESS_SECURE_AUTH_KEY: '...'
WORDPRESS_LOGGED_IN_KEY: '...'
WORDPRESS_NONCE_KEY: '...'
WORDPRESS_AUTH_SALT: '...'
WORDPRESS_SECURE_AUTH_SALT: '...'
WORDPRESS_LOGGED_IN_SALT: '...'
WORDPRESS_NONCE_SALT: '...'
wpcli:
container_name: A_wpcli_1
image: wordpress:cli
working_dir: /var/www/html
depends_on:
- db
- wordpress
networks:
- A_default
volumes:
db_data:
Спасибо.
Обновление 1
Я видел этот файл но я не нахожу это полезным в моей ситуации.
Обновление 2
Я хочу sh использовать отдельный контейнер только для WP-CLI, потому что команда
docker run -it --rm \
--volumes-from A_wordpress_1 \
--network A_default wordpress:cli \
$*
не удаляет контейнер после того, как он выполнил свою работу, а удаление --rm
лишает меня возможности работать с файлами, которые он создал, потому что я не могу получить доступ к томам A_wordpress_1
, потому что временный контейнер WP-CLI имеет другой рабочий каталог.