使用here提到的步骤在Cent OS上安装docker
到目前为止,我可以按照Jetty和Cassandra所述的步骤独立运行 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-core
的3.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/