首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >合成文件不适用于部署

合成文件不适用于部署
EN

Stack Overflow用户
提问于 2019-04-18 10:38:53
回答 1查看 56关注 0票数 0

我正在使用Wonderfall nextcloud image通过一个组合文件进行部署。当使用docker stack deploy时,它似乎不会填充变量。

我已经尝试部署了几次,但都没有成功

代码语言:javascript
复制
version: '3.3'

networks:
  prodnet:
    external: true

services:
  nextcloud:
    image: wonderfall/nextcloud
    depends_on:
      - nextcloud-db # If using MySQL
      - redis # If using Redis
  ports:
    - 8888:8888
  deploy:
    replicas: 1
    placement:
      constraints: [node.role == worker]

  environment:
    - UID=1100
    - GID=1100
    - UPLOAD_MAX_SIZE=10G
    - APC_SHM_SIZE=128M
    - OPCACHE_MEM_SIZE=128
    - CRON_PERIOD=15m
    - TZ=America/New_York
    - ADMIN_USER=cloudadmin # Don't set to configure through browser
    - ADMIN_PASSWORD=verycomplexpassword # Don't set to configure through browser
    - DOMAIN=www.blah.com
    - DB_TYPE=mysql
    - DB_NAME=nextcloud
    - DB_USER=wonderfall
    - DB_PASSWORD=supersecretpassword
    - DB_HOST=nextcloud-db

  volumes:
    - nextcloud_data:/data
    - nextcloud_config:/config
    - nextcloud_apps:/apps2
    - nextcloud_themes:/nextcloud/themes

  networks:
    - prodnet



# If using Redis
redis:
  image: redis:alpine
  volumes:
    - nextcloud_redis:/data
  networks:
    - prodnet

# If using MySQL

nextcloud-db:
  image: mysql:latest
  command: --default-authentication-plugin=mysql_native_password
  ports:
    - 3307:3306
  deploy:
    replicas: 1
    placement:
      constraints: [node.role == worker]

  volumes:
    - nextcloud_mysql:/var/lib/mysql

  environment:
    - MYSQL_ROOT_PASSWORD=supersecretpassword
    - MYSQL_DATABASE=nextcloud
    - MYSQL_USER=wonderfall
    - MYSQL_PASSWORD=supersecretpassword
  networks:
    - prodnet

volumes:
  nextcloud_data:
    driver: local
    driver_opts:
      type: nfs
      o: addr=xxxxxxxxxxxxx,hard,nolock,rw
      device: ":/mnt/array1/docker/nextcloud1/data"
  nextcloud_config:
    driver: local
    driver_opts:
      type: nfs
      o: addr=xxxxxxxxxxxxx,hard,nolock,rw
      device: ":/mnt/array1/docker/nextcloud1/config"
  nextcloud_apps:
    driver: local
    driver_opts:
      type: nfs
      o: addr=xxxxxxxxxxxxx,hard,nolock,rw
      device: ":/mnt/array1/docker/nextcloud1/apps2"
  nextcloud_themes:
    driver: local
    driver_opts:
      type: nfs
      o: addr=xxxxxxxxxxxxx,hard,nolock,rw
      device: ":/mnt/array1/docker/nextcloud1/themes"

  nextcloud_redis:
    driver: local
    driver_opts:
      type: nfs
      o: addr=xxxxxxxxxxxxx,hard,nolock,rw
      device: ":/mnt/array1/docker/nextcloud1/redis"

  nextcloud_mysql:
    driver: local
    driver_opts:
      type: nfs
      o: addr=xxxxxxxxxxxxx,hard,nolock,rw
      device: ":/mnt/array1/docker/nextcloud1/mysql"

映像已部署,但它是默认设置,并且正在尝试使用SQLite,而不是配置的映像。我正在遵循Wonderfall页面上的指导原则,但它不起作用。

EN

回答 1

Stack Overflow用户

发布于 2019-04-18 17:11:51

您需要更多地缩进redisnextcloud-db定义,它们应该与nextcloud处于同一级别,而不是与services处于同一级别。

代码语言:javascript
复制
[...]

services:
  nextcloud:
    image: wonderfall/nextcloud
    [...]

  # If using Redis
  redis:
    image: redis:alpine
    [...]

  # If using MySQL
  nextcloud-db:
    image: mysql:latest
    [...]

请参阅Dockerhub上的示例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55738382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档