在码头上运行wordpress。试图通过在撰写文件中定义用户来跳过安装install.php。我已经添加了wordpress用户,密码和标题,以跳过该页。但不起作用。
我的代码有问题吗?还有别的办法吗。或者帮我解决这段代码。
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- ./db-data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- ./wordpress:/var/www/html
- ./docker/wordpress/php/php.ini:/usr/local/etc/php/conf.d/php.ini:ro
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_VERSION: 5.1
WORDPRESS_LOCALE: en_US
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_TABLE_PREFIX: "wp_"
WORDPRESS_DEBUG: 1
WORDPRESS_DB_NAME: wordpress
# WORDPRESS_WEBSITE_TITLE: "My blog"
# WORDPRESS_WEBSITE_URL: "http://example.com"
# WORDPRESS_WEBSITE_URL_WITHOUT_HTTP: "example.com"
# WORDPRESS_WEBSITE_URL: "http://http://localhost:8000"
# WORDPRESS_WEBSITE_URL_WITHOUT_HTTP: "localhost"
# WORDPRESS_WEBSITE_POST_URL_STRUCTURE: "/%year%/%monthnum%/%day%/%postname%/"
# WORDPRESS_ADMIN_USER: "admin"
# WORDPRESS_ADMIN_PASSWORD: "admin"
# WORDPRESS_ADMIN_EMAIL: "admin@admin.com"
working_dir: /var/www/html
wordpress-cli:
depends_on:
- db
- wordpress
image: wordpress:cli
entrypoint: wp
user: xfs
command: >
/bin/sh -c ' sleep 10;
wp core install --url="http://localhost:8000" --title="Sample Title" --admin_name=admin --admin_password=admin --admin_email=you@domain.com '
volumes:
- ./wordpress:/var/www/html
- ./docker/wordpress/php/php.ini:/usr/local/etc/php/conf.d/php.ini:ro
volumes:
db_data: {}
wordpress:得到了这个错误:
C:\DockerProjects\test6>docker-compose up
ERROR: yaml.scanner.ScannerError: while scanning a simple key
in ".\docker-compose.yml", line 54, column 6
could not find expected ':'
in ".\docker-compose.yml", line 55, column 6发布于 2019-07-03 09:58:55
您可以在撰写文件中安装wordpress Cli。或者您可以使用dockerfile将wp复制到映像中,然后使用自定义入口点安装wordpress。
发布于 2019-06-11 10:54:07
问题在于代码的这一部分。
user: xfs
command: >
/bin/sh -c ' sleep 10;
wp core install --url="http://localhost:8000" --title="Sample Title" --admin_name=admin --admin_password=admin --admin_email=you@domain.com '一定是这样的
user: xfs
command: >
/bin/sh -c ' sleep 10;
wp core install --url="http://localhost:8000" --title="Sample Title" --admin_name=admin --admin_password=admin --admin_email=you@domain.com '在command: >接下来的2行之后,您需要给出1Tab。
您可以使用联机格式化程序这里。检查代码。
编辑1:
格式化代码如下所示
version: '3.3'
services:
db:
image: 'mysql:5.7'
volumes:
- './db-data:/var/lib/mysql'
restart: always
environment: null
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: 'wordpress:latest'
volumes:
- './wordpress:/var/www/html'
- './docker/wordpress/php/php.ini:/usr/local/etc/php/conf.d/php.ini:ro'
ports:
- '8000:80'
restart: always
environment: null
WORDPRESS_VERSION: 5.1
WORDPRESS_LOCALE: en_US
WORDPRESS_DB_HOST: 'db:3306'
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_TABLE_PREFIX: wp_
WORDPRESS_DEBUG: 1
WORDPRESS_DB_NAME: wordpress
working_dir: /var/www/html
wordpress-cli:
depends_on:
- db
- wordpress
image: 'wordpress:cli'
entrypoint: wp
user: xfs
command: "/bin/sh -c ' sleep 10; wp core install --url=\"http://localhost:8000\" --title=\"Sample Title\" --admin_name=admin --admin_password=admin --admin_email=you@domain.com '\n"
volumes:
- './wordpress:/var/www/html'
- './docker/wordpress/php/php.ini:/usr/local/etc/php/conf.d/php.ini:ro'
volumes:
db_data: {}
wordpress: null发布于 2021-06-30 21:33:06
我在码头枢纽上找到了这个
自2021年3月以来,WordPress映像使用了一个定制的wp-config.php,它直接从上面定义的环境变量中提取值(参见docker/wordpress#572和docker-library/wordpress#577中的wp docker.php)。由于直接读取环境变量,cli容器还需要同一组环境变量来正确评估wp-config.php。
因此,您需要在原来的wordpress中设置环境,如下所示(这对我有用,也使用traefik..):
version: "3.9"
services:
db:
image: mysql:5.7
volumes:
- ./db:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
restart: always
environment: &env
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
WORDPRESS_CONFIG_EXTRA: |
define( 'AUTOMATIC_UPDATER_DISABLED', true );
define( 'FS_METHOD', 'direct' );
volumes:
- &html
./html:/var/www/html
labels: &lab
- "traefik.enable=true"
- "traefik.port=80"
- "traefik.frontend.rule=Host:subdomain.domain.com"
networks:
- default
- web
wordpress-cli:
image: wordpress:cli
depends_on:
- db
- wordpress
environment:
<<: *env
volumes:
- *html
entrypoint: sh
command: -c 'sleep 10; wp core install --url="https://subdomain.domain.com" --title="greatname" --admin_name=admin --admin_password="mysupersecureadminpw" --admin_email=my@domain.com'
networks:
web:
external: true您还可以省略entrypoint和command部分,只需在检查所有内容都在运行后运行docker-compose run wordpress-cli core install ...即可。如果删除entrypoint部件,还可以运行任何其他wp-cli命令,而不是core install :-)
https://stackoverflow.com/questions/56541456
复制相似问题