Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Jetty和Cassandra创建docker容器_Docker_Cassandra_Jetty_Dockerfile - Fatal编程技术网

使用Jetty和Cassandra创建docker容器

使用Jetty和Cassandra创建docker容器,docker,cassandra,jetty,dockerfile,Docker,Cassandra,Jetty,Dockerfile,使用上述步骤在Cent OS上安装docker 到目前为止,我可以按照上面提到的步骤独立运行jetty和cassandra的docker映像 我想创建一个docker容器,其中包含Cassandra数据库和一个运行在Jetty server中的web应用程序,该应用程序与该数据库交互 我能够使用Jetty创建docker容器,并能够使用以下Dockerfile内容在Jetty中运行一些示例web应用程序 FROM jetty RUN mkdir /var/lib/jetty/webapps/t

使用上述步骤在Cent OS上安装docker

到目前为止,我可以按照上面提到的步骤独立运行jetty和cassandra的docker映像


我想创建一个docker容器,其中包含
Cassandra数据库
和一个运行在
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
现在,我可以在浏览器中使用

:8443/test app/index.html

问题:

我应该如何将Cassandra数据库与此docker映像中的集成,并运行完整的
Jetty+Cassandra+Web应用程序
打包为一个组?

您可以使用启动Cassandra数据库。在一个单独的容器中启动您的web应用程序,就像您现在所做的那样

您可以将cassandra容器与web应用程序容器链接

docker run --name webapp --link cassandra:cassandra -d test-docker
您需要在Web应用程序中使用cassandra主机名/容器IP。您可以将cassandra DB_URL作为环境变量传递

docker run --name webapp --link cassandra:cassandra  -e DB_URL='cassandra:7000' -d test-docker
阅读更多关于

的信息,如中所述,而不是使用运行cassandra

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容器中的web应用程序可以使用Java驱动程序访问Cassandra数据库

注意:如果您使用的是Cassandra version>3.0,那么您应该使用版本>=
3.0

cassandra驱动程序核心的Maven依赖关系

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