docker工人 – 卡桑德拉
我试图通过以下步骤dockerize cassandra。 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
当我build立cassandradocker使用
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
当我build立cassandradocker使用
docker run -it my_cassandra bin/bash
它会抛出相同的错误信息
cat: /etc/ld.so.conf.d/*.conf: No such file or directory
如果我删除ENTRYPOINT行或散列它,dockerbuild设和运行良好,但cassandra不作为docker运行命令的一部分运行。 我必须login到容器,并手动启动./cassandra
有没有办法可以启动cassandra作为docker run命令的一部分?
从你上面的例子来看,这里看起来不像入口点是个问题。 您不应该运行Cassandra作为Docker构build的一部分。
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。
链接: 官方Dockerfile
链接: Docker Hub – Cassandra