Docker - Cassandra

标签 docker cassandra

我正在尝试按照以下步骤对 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 命令的一部分?

最佳答案

从上面的示例中,看起来 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 Image。

链接:Official Dockerfile

链接:Docker Hub - Cassandra

关于Docker - Cassandra ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43330625/

相关文章:

algorithm - Paxos和Cassandra中的W+R>=N有什么区别?

cassandra - 在 Mac 上启动 Cassandra

hadoop - 如何在单个 Hadoop 作业中输出到多个 Cassandra 列族?

cassandra 如何从 udt freeze 中排序

cassandra - 将 Datastax Enterprise Cassandra 迁移到 Apache Cassandra 或 Datastax Community?

docker - ddev 启动 readlink/var/lib/docker/overlay2 : invalid argument error

python - 您的 shell 尚未正确配置为在 dockerfile 上使用 'conda activate'

python - Docker sqlite3.OperationalError : unable to open database file

docker - Docker内部版本:xz(stdin):无法识别文件格式

docker - 如何限制docker-compose中的内存使用率?