到目前为止,我已经在我的 vs code 终端中运行了以下命令
docker network create cassandra-net
docker run --name my-cassandra --network cassandra-net -p 9042:9042 -d cassandra:latest
这本书现在要求我运行以下命令
docker run -it --network cassandra-net --rm cassandra cqlsh my-cassandra
我收到这个错误
Traceback (most recent call last):
File "/opt/cassandra/bin/cqlsh.py", line 2402, in <module>
main(*read_options(sys.argv[1:], os.environ))
File "/opt/cassandra/bin/cqlsh.py", line 2344, in main
shell = Shell(hostname,
File "/opt/cassandra/bin/cqlsh.py", line 480, in __init__
load_balancing_policy=WhiteListRoundRobinPolicy([self.hostname]),
File "/opt/cassandra/bin/../lib/cassandra-driver-internal-only-3.25.0.zip/cassandra-driver-3.25.0/cassandra/policies.py", line 425, in __init__
File "/opt/cassandra/bin/../lib/cassandra-driver-internal-only-3.25.0.zip/cassandra-driver-3.25.0/cassandra/policies.py", line 426, in <listcomp>
File "/usr/lib/python3.10/socket.py", line 955, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known
在 docker 日志中,它已达到输出的位置 “2024-04-10 06:46:40 INFO [OptionalTasks:1] 2024-04-10 12:46:40,062 CassandraRoleManager.java:354 - 创建了默认超级用户角色“cassandra”” 并且日志中没有进一步的输出,因此我假设“Cassandra 集群已完全启动”,正如书中警告的那样。
我尝试搜索此错误,并且能够找到问题的各个部分,但没有任何内容与问题完全匹配。 我搜索
File "/usr/lib/python3.10/socket.py", line 955, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known
并获取一些特定于 Python 的故障排除。 我搜索了完整的错误并被定向到 github 线程 https://github.com/orgs/community/discussions/26047 但是这个线程有一些修复,假设您在 github 上托管容器,并且修复包括更新 github 上的 yml 文件。 我只是尝试运行容器并从 vscode 终端执行这些命令,尚未在 github 上托管任何内容。
我错过了什么?
我从书上复制了这个命令 docker run -it --network cassandra-net --rm cassandra cqlsh my-cassandra
我其实是在跑步 docker run -it --network cassandra-net --rm cassandra cqlsh mycassandra
这个错误:
socket.gaierror: [Errno -2] Name or service not known
表示 Docker 无法解析您指定的主机。
最可能的原因是您在 (a) 创建容器或 (b) 使用 cqlsh 连接时名称出现拼写错误。
检查您在所有 Docker 命令中是否一致地使用相同的容器名称,然后重试。干杯!