Docker compose throwing find: ‘’: 没有那个文件或目录

Docker compose throwing find: ‘’: No such file or directory

我正在尝试在 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
  3. 中复制的文件 'docker-entrypoint.sh' 一起使用

我不知道哪里出了问题。

Basically, I am trying to set a few of properties present inside Cassandra image at /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