错误:在文件'。\ docker-compose.yml'中,卷必须是映射,而不是字符串。 -带有Wordpress的Docker

时间:2018-07-20 08:33:40

标签: wordpress docker dockerfile

我在Wordpress中有一个带有自定义模板的开发站点。所以我只有wp-content文件夹,因为它包含所有与模板相关的文件和插件。随着数据库转储。最终在这样的“ docker-compose.yml”中定义了正确的Wordpress图像和MySQL版本。

version: '3.3'

services:
  db:
  image: mysql:5.6
  volumes:
    - db/user_portaldb.mysql.sql:/var/lib/mysql
  restart: always
  environment:
    MYSQL_ROOT_PASSWORD: root
    MYSQL_DATABASE: wordpress
    MYSQL_USER: wordpress
    MYSQL_PASSWORD: wordpress

  wordpress:
    depends_on:
      - db
    image: wordpress:4.9.7
    ports:
      - "8000:80"
    restart: always
    volumes:
      - user_portal/wp-content:/var/www/html/wp-content
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
volumes:
  user_portal/wp-content
db:
  db/user_portaldb.mysql.sql

一旦我执行了这个docker命令,

docker-compose up -d

我收到此错误:

错误:在文件'。\ docker-compose.yml'中,volume必须是映射,而不是字符串。

我已经在Windows环境中安装了Docker。

1 个答案:

答案 0 :(得分:1)

您可以使用:

- ./userportal/wp-content:/var/www/html/wp-content

根据您的音量。 docker-composedocker stack deploy了解具有该语法的卷名的相对路径。如果没有前导./,它将把字符串解释为一个命名卷。有关更多详细信息,请参见卷的简短语法:https://docs.docker.com/compose/compose-file/#short-syntax-3