【问题标题】:Docker compose throwing find: ‘’: No such file or directoryDocker撰写抛出find:'':没有这样的文件或目录
【发布时间】:2020-07-16 14:11:27
【问题描述】:

我正在尝试在 official Cassandra docker image 之上执行 docker-compose。

基本上,我正在尝试在 /etc/cassandra/cassandra.yaml 处设置 Cassandra 图像中存在的一些属性。 我的 docker-compose 看起来像

version: '3.0'

services:
  cassandra:
      image: cassandra:3.11.6
      ports:
        - "9042:9042"
      environment:
        - CASSANDRA_ENABLE_USER_DEFINED_FUNCTIONS=true
      # restart: always
      volumes:
        - ./cassandra-dc-1:/usr/local/bin/
      container_name: cassandra-dc-1
      entrypoint: /usr/local/bin/docker-entrypoint.sh
      # command: /usr/local/bin/docker-entrypoint.sh

当我运行 docker-compose up --build 时,出现以下错误,来自我存在 docker-compose.yaml 的目录

cassandra-dc-1 | find: ‘’: No such file or directory
cassandra-dc-1 exited with code 1

我尝试给予

  1. 中的绝对路径
  2. ./cassandra-dc-1:/usr/local/bin/ -- 将它与我想在 docker 中复制的文件 'docker-entrypoint.sh' 一起使用

我无法弄清楚出了什么问题。

【问题讨论】:

    标签: docker cassandra docker-compose


    【解决方案1】:

    基本上,我正在尝试设置内部存在的一些属性 Cassandra 图片/etc/cassandra/cassandra.yaml

    如果您只是在yaml 文件中设置属性,则不需要覆盖入口点,因为它会隐藏很多可执行文件,而不仅仅是通过以下操作来隐藏入口点

          volumes:
            - ./cassandra-dc-1:/usr/local/bin/
    

    不要堆积整个目录/usr/local/bin/

    如果您只想覆盖入口点,请执行以下操作

          volumes:
            - ./cassandra-dc-1/docker-entrypoint.sh:/usr/local/bin/docker-entrypoint.sh
    

    自定义配置文件

    FROM cassandra:3.11.6
    copy my_customconfig.yml /etc/cassandra/cassandra.yaml
    

    这就是使用自定义配置运行所需的全部内容,在构建期间复制配置。

    或使用 docker-compose

          volumes:
            - ./cassandra.yaml:/etc/cassandra/cassandra.yaml
    

    Configuring Cassandra

    【讨论】:

    • 谢谢@Adiii,我没必要让它变得复杂。我继续替换 cassandra.yaml
    猜你喜欢
    • 1970-01-01
    • 2019-09-06
    • 2010-12-04
    • 2021-02-24
    • 1970-01-01
    • 2019-03-04
    • 2014-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多