我在下面安装了3个带有这个docker-composer.yml的docker容器
version: '3'
services:
nginx:
image: nginx:alpine
volumes:
- ./app:/app
- ./nginx-config/:/etc/nginx/conf.d/
ports:
- 80:80
depends_on:
- php
php:
image: php:7.1-fpm-alpine
volumes:
- ./app:/app
cassandra:
image: 'docker.io/bitnami/cassandra:3-debian-10'
ports:
- '7000:7000'
- '9042:9042'
volumes:
- ./app:/app
environment:
- CASSANDRA_SEEDS=cassandra
- CASSANDRA_PASSWORD_SEEDER=yes
- CASSANDRA_PASSWORD=cassandra
我的问题是如何放置localhost:7000
,甚至localhost:9042
—什么都不起作用。当我运行docker ps
时,所有容器都能正常工作
您在浏览器上厌倦的两个端口都不是HTTP
端口。
- '7000:7000'
- '9042:9042'
默认情况下,Cassandra使用7000进行集群通信(如果启用了SSL,则使用7001(,9042用于本机协议客户端,7199用于JMX。节点间通信和本机协议端口可在Cassandra配置文件中进行配置。JMX端口可在cassandra-env.sh中配置(通过JVM选项(所有端口都是TCP
Cassandra Ports
您可以从容器内部验证cassandra
状态或连接,或者需要在主机上安装客户端以检查连接。
运行docker ps
并复制cassandra
容器名称,然后运行以下命令。
docker exec -it container_name bash -c "cqlsh -u cassandra -p cassandra"
你可以期待像一样的输出
[cqlsh 5.0.1 | Cassandra 3.11.6 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.