微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用Docker Config

如何解决如何使用Docker Config

"semi-official" docker image for CouchDB指出:

有很多方法可以向容器提供[自定义ini文件](通过简短 通过FROM + copY,通过Docker Configs,通过运行时的Dockerfile 绑定安装等)

Docker Config似乎是一个不错的选择,因为:

  1. 我不必滚动自己的Dockerfile并直接使用源代码(使用FROM + copY无法实现)
  2. 我需要在配置中指定一个JWT机密,并且Docker Config提供了模板功能,可以用环境变量替换占位符。

Docker Configs are only available to swarm services,因此我计划在开发期间将其作为服务以1的比例运行。我正在尝试编写一个docker-compose文件,但是似乎我写了它,该服务在达到“正在运行”状态后几乎立即失败,错误为:task: non-zero exit (1),并且docker service logs <name> --follow命令根本没有日志

这是我尝试过的示例(没有模板的最简单版本):

version: '3.8'
services:
  db:
    hostname: couchdb.local
    image: apache/couchdb:${DOCKER_TAG:-3.1.1}
    deploy:
      replicas: 1
    env_file:
      - .env
    volumes: 
      - ~/couchdb/data:/opt/couchdb/data
    ports:
      - "5984:5984"
    configs:
      - source: config
        target: /opt/couchdb/etc/local.d/config.ini
configs:
  config:
    file: ./config.ini

并使用docker stack deploy -c ./docker-compose.yml couch_stack

运行它

一个解决的问题是Docker配置cannot be writeableCouchdb has to be able to write to its ini files。但是由于我没有日志,所以我什至不知道问题出在哪里。由于上面的自述文件指出Docker Configs是一个选项,因此这一定不可能吗?

任何人都可以提供一个可以在docker swarm中运行带有Docker Configs配置的长沙发服务的docker组成文件的工作示例吗?

其他信息: 如果相关的话,我正在WSL2中运行docker。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。