qq_34150083 2017-03-27 03:49 采纳率: 0%
浏览 4900

在docker-compose up后,无法执行容器中的命令,找不到容器内组件的环境变量

docker-compose.yml文件内容如下
cassandra:
image: cassandra:3.7
ports:

  • "7000:7000"
  • "7001:7001"
  • "7199:7199"
  • "9042:9042"
  • "9160:9160"
    zookeeper:
    image: wurstmeister/zookeeper
    ports:

    • "2181:2181" kafka: image: wurstmeister/kafka ports:
    • "9092:9092" links:
    • zookeeper:zk environment: KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1 volumes:
    • /var/run/docker.sock:/var/run/docker.sock

      在运行docker-compose up,三个容器启动后,老同事的电脑可以直接执行kafka,cassandra等组件的命令如kafka-topics.sh,
      在我的电脑上却不行,效果就好比这三个组件的环境变量没有export到本身系统中,请问如何解决?

      谢谢!

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-05 15:38
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题可能有多种原因导致。以下是一些建议和步骤来帮助你解决问题:

    1. 确保你的docker-compose.yml配置正确。确保所有的依赖项都已正确安装并引用正确的镜像。

    2. 检查你的docker-compose.yml是否包含了正确的网络配置。如果一个容器通过其IP地址与其他容器通信,则必须使用networks选项指定网络。

    3. 确认你的docker-compose.yml文件中定义了正确的端口映射。如果你没有将容器暴露于默认端口(例如80或443),则你需要手动添加端口映射。

    4. 重新运行docker-compose up -d以重新加载所有容器,并确保它们已经就绪。

    5. 检查你的docker-compose.yml文件是否有错误。这包括检查依赖关系、服务之间的绑定以及容器的环境设置。

    6. 如果以上方法都无法解决问题,考虑联系你的管理员寻求进一步的帮助。他们可能会知道更具体的问题或者可以提供额外的建议。

    7. 最后,如果你有足够的权限访问容器内的主机,尝试在容器内部执行命令查看环境变量是否存在。这通常可以通过在容器内使用env命令来实现。

    希望这些建议能帮到你!

    评论

报告相同问题?