【问题标题】:Docker - Cassandra码头工人-卡桑德拉
【发布时间】:2019-10-31 18:35:53
【问题描述】:

我正在尝试按照以下步骤对 cassandra 进行 dockerize。 Docker 文件 ->

FROM oraclelinux:7.3
COPY apache-cassandra-2.2.8-bin.tar.gz /opt
RUN cd /opt && tar -xvzf apache-cassandra-2.2.8-bin.tar.gz
RUN cd /opt && ln -s apache-cassandra-2.2.8 cassandra
RUN cd /opt/cassandra && mkdir data && mkdir commitlog && mkdir saved_caches
COPY cassandra.yaml /opt/cassandra/conf
COPY cassandra-topology.properties /opt/cassandra/conf
RUN chmod +x /opt/cassandra/bin/cassandra
ENV CASSANDRA_CONFIG /opt/cassandra/conf
ENV CASSANDRA_HOME /opt/cassandra
RUN /opt/cassandra/bin/cassandra
ENTRYPOINT ["/opt/cassandra/bin/cassandra"]
EXPOSE 7000 7001 7199 9160

当我使用构建 cassandra docker 时

docker build -t my_cassandra .

抛出错误信息

Step 19/21 : RUN /opt/cassandra/bin/cassandra
---> Running in 36bd332c523a
cat: /etc/ld.so.conf.d/*.conf: No such file or directory

当我使用构建 cassandra docker 时

docker run -it my_cassandra bin/bash

它会抛出相同的错误消息

cat: /etc/ld.so.conf.d/*.conf: No such file or directory

如果我删除 ENTRYPOINT 行或将其散列,docker 构建并运行良好,但 cassandra 不会作为 docker run 命令的一部分运行。我必须登录到容器并手动从 ./cassandra 开始

有没有一种方法可以在这里启动 cassandra 作为 docker run 命令的一部分?

【问题讨论】:

  • 你能发Dockerfile吗?
  • 使用一些现有图像可能会更好:hub.docker.com/_/cassandra
  • @Andy,我已将以上部分编辑为 docker 文件代码
  • @Marko,想像普通的 cassandra 安装/配置一样尝试
  • 经验中的一句忠告!我们已经对裸机上的 dockerized cassandra 进行了性能评估。我们已经看到 dockerized cassandra 的性能显着下降。此外,持久性是数据库技术中最重要的部分。你上面的例子没有处理卷。

标签: docker cassandra


【解决方案1】:

从您上面的示例来看,ENTRYPOINT 似乎不是这里的问题。您不应将 Cassandra 作为 Docker 构建的一部分运行。

Step 19/21 : RUN /opt/cassandra/bin/cassandra ---> Running in 36bd332c523a cat: /etc/ld.so.conf.d/*.conf: No such file or directory

删除RUN /opt/cassandra/bin/cassandra

在 Docker Hub 上查看官方 Cassandra Docker 映像。

链接:Official Dockerfile

链接:Docker Hub - Cassandra

【讨论】:

    【解决方案2】:

    归结为您使用的上游图像。 /opt/cassandra/bin/cassandra 似乎是一个 shell 脚本,它在某些时候执行 which ldconfig。如果您的图片中缺少which,您将看到此类错误

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-13
      • 2015-10-19
      • 2015-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-16
      相关资源
      最近更新 更多