docker - 使用Jetty和Cassandra创建docker容器

标签 docker cassandra jetty dockerfile

使用here提到的步骤在Cent OS上安装docker

到目前为止,我可以按照JettyCassandra所述的步骤独立运行 jetty 和 Cassandra 的docker镜像

我想创建一个docker容器,该容器将具有Cassandra database和在Jetty server中运行的与该数据库交互的Web应用程序。

我可以使用Jetty创建docker容器,并可以使用以下Dockerfile内容在Jetty中运行一些示例Web应用程序

FROM jetty
RUN mkdir /var/lib/jetty/webapps/test-app
COPY index.html /var/lib/jetty/webapps/test-app/

然后将此文件另存为Dockerfile时,发出以下命令来创建docker镜像并运行相同的命令
docker build -t test-docker .

docker run -d -p 8443:8080 test-docker

现在,我可以在浏览器中使用
<ip_address>:8443/test-app/index.html
问题:

我应该如何在此docker镜像中集成Cassandra数据库并运行打包为一组的完整Jetty + Cassandra + Web Application

最佳答案

Docker Cassandra Documentation中所述,而不是使用

docker run --name some-cassandra -d cassandra:tag

提及cassandra使用的所有端口,以便可以通过如下所示的外部资源进行通信或交互
docker run --name some-cassandra -d -p 7000:7000 -p 7001:7001 -p 7199:7199 -p 9042:9042 -p 9160:9160 cassandra:tag

现在,我在Jetty Container中运行的Web应用程序可以使用Java驱动程序访问Cassandra数据库。

注意:如果您使用的是Cassandra版本> 3.0,则应使用版本> = cassandra-driver-core3.0
Moji对cassandra-driver-core的依赖
<dependency>
    <groupId>com.datastax.cassandra</groupId>
    <artifactId>cassandra-driver-core</artifactId>
    <version>3.0.0</version>
</dependency>

cassandra-driver-mapping
<dependency>
    <groupId>com.datastax.cassandra</groupId>
    <artifactId>cassandra-driver-mapping</artifactId>
    <version>3.0.0</version>
</dependency>

关于docker - 使用Jetty和Cassandra创建docker容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35408606/

相关文章:

python - 在 docker python 上安装 libLAS - 没有这样的文件或目录

Docker --ssh 标志 - 主机 key 验证失败

代理背后的 Docker Centos 7 easy_install supervisor ssl 问题

python - 在 Google Cloud 上的 docker 镜像中运行 Jupyter Notebook

Cassandra - 使用 ORDER BY 和 UPDATE 聚类键的替代方法

search - 如何在cassandra中搜索?

java - Cassandra 中计算行中列数的方法是什么?

java - jetty :如何声明 JVM 范围内的 jndi 条目并绑定(bind)到 java:comp/env

jetty - 为 Jetty 的 Maven 插件配置日志记录?

java - 在websocket客户端上配置Jetty密码教程