wordpress - 当 /var/www/html 已经安装在主机中时,如何使用带有 wp-cli 容器的 wordpress 容器?
问题描述
我尝试使用网络,但找不到文件夹名称与“_default”连接的网络。
如果我这样指定网络:
wpcli:
container_name: ...
image: wordpress:cli
working_dir: /var/www/html
depends_on:
- db
- wordpress
networks:
- A_default
我得到:
错误:服务“wpcli”使用未定义的网络“A_default”
虽然A_default
存在于 的输出中docker network ls
。
如果我删除该部分:
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
我希望为 WP-CLI 使用单独的容器,因为命令
docker run -it --rm \
--volumes-from A_wordpress_1 \
--network A_default wordpress:cli \
$*
完成工作后不会删除容器,并且删除--rm
使我无法使用它创建的文件,因为我无法访问卷,A_wordpress_1
因为临时 WP-CLI 容器具有不同的工作目录。
解决方案
我在您的 docker-compose 文件中看到两个问题:
- (已删除)
networks
部分格式错误 ./html
未安装在wpcli
服务中
我会尝试以下方法:
version: '3.3'
services:
db:
...
phpmyadmin:
...
wordpress:
...
wpcli:
...
volumes:
- type: bind
source: ./html
target: /var/www/html
volume:
nocopy: true
...
volumes:
db_data:
networks:
A_default:
推荐阅读
- scala - 如何将任务依赖项从另一个插件添加到我的 SBT 插件?
- javascript - 尝试使用 textinput 搜索某些内容后,Flatlist 数据消失
- c++ - 确定指向 const 的指针是否指向 const 对象?
- algorithm - 动态规划 - 减少工作能力的中断调度问题
- java - iOS 和 Android 上的等效加密和解密
- python - webdriver 无法更新网址
- c - c 结构的初始化,包括联合
- python - 在 Python 中结合列表和字典
- azure - 通过脚本/ARM 模板将诊断日志设置添加到 Azure 数据工厂
- php - Laravel Breeze 和 Spatie 权限在用户注册时设置角色