在 Docker 上安装 Wordpress。试图跳过安装页面

标签 wordpress docker installation docker-compose yaml

在 docker 上运行 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

最佳答案

问题出在这部分代码

 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 '

命令之后:> 接下来的 2 行你需要给出 1 个 Tab。

您可以使用在线格式化程序检查您的代码here.

编辑 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

关于在 Docker 上安装 Wordpress。试图跳过安装页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56541456/

相关文章:

javascript - 使用 AngularJS 合并来自 WP-API 的结果

php - 如何在每 "X"个帖子后显示其他内容(例如广告)

image - 如何将Docker镜像列表与API返回的标签列表相关联?

Docker 如何在启动时运行/usr/sbin/init 和其他脚本

installation - 运行 RemovePreviousVersion 时,MSI 不会安装所有文件

mysql - 通过命令行在 MySQL (Windows 8.1) 上安装 'Employees Sample Database'

visual-c++ - 如何检测是否需要安装VCRedist?

css - 查找视频背景定位的元素

php - Woocommerce单品缩略图src链接替换哪个钩子(Hook)

docker - 更新 Centos Docker 镜像中的 PATH(替代 Dockerfile ENV)