【问题标题】:How to see other container from one container in docker?如何从 docker 中的一个容器中查看其他容器?
【发布时间】:2019-03-14 06:46:36
【问题描述】:

我有如下撰写文件;

redis:
    image: redis
    ports:
    - "6379:6379"
 php:
    build: .
    image: php:fpm
    volumes:
    - ./code:/var/www/html
    links:
      - redis:redis
    networks:
    - code-network

我正在使用以下命令进入 php 容器。

docker exec -it php_id /bin/bash

但我无法在此容器中运行“redis-cli”命令。我需要做什么才能运行它。

我在撰写文件时添加了“链接”参数,但没有。

【问题讨论】:

  • 您能否从撰写文件中删除networks 部分,附加到php-container,运行apt update -yq && apt install -yq iputils-ping 并尝试ping redis
  • 没看懂你说的什么,所以进入php容器我想运行redis-cli,所以不想再出来进入redis容器了。跨度>
  • 你能把docker-compose --version的输出贴出来好吗?那真的是你的整个撰写文件吗?此外,Dockerfile 的内容也会有所帮助。
  • docker-compose 版本 1.22.0,构建 f46880fe
  • 你执行redis_cli的时候有没有加一些args?比如指定redis服务器?

标签: docker docker-compose


【解决方案1】:

您正在将 php-fpm 容器放入它自己的网络中。这是一个固定的撰写文件:

version: "3"
services:
  redis:
    image: redis
    ports:
      - "6379:6379"

  php:
    build: .
    image: php:fpm
    volumes:
      - ./code:/var/www/html
    networks:
      - code-network
      - default

networks:
  code-network:

有关撰写网络的更多信息,请参阅this

关于 redis-cli 问题:您需要在 php-fpm 容器上添加适当的存储库,然后安装它。当您使用 php:fpm 图像时,您可能希望将 redis 与一些 php-application 一起使用,因此您不需要 debians redis-cli 包,而是需要 php-extension。 请参阅this 帖子了解更多信息。

【讨论】:

    猜你喜欢
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多