【问题标题】:2 docker containers run in 1 container2 个 docker 容器在 1 个容器中运行
【发布时间】:2014-10-22 21:40:37
【问题描述】:

我尝试启动两个分离的容器。

首先是一个MySql

docker run -td --name mysql -p 3306:3306 -e MYSQL_PASS="admin" tutum/mysql

我尝试为 apache 启动一个自建容器,typo3

docker run -td --name typo -p 80:80 --link mysql:mysql thomasm/typo3-45

我现在希望这两个容器出现在 docker ps 中

$ docker ps
CONTAINER ID        IMAGE                COMMAND             CREATED             STATUS              PORTS                    NAMES
96607b9ee0f9        tutum/mysql:latest   "/run.sh"           19 minutes ago      Up 19 minutes       0.0.0.0:3306->3306/tcp   mysql,typo/mysql

但两者似乎都在这个容器 id 中(观看 NAMES 列)。

docker ps -a 现在显示“typo”容器已退出

$ docker ps -a
CONTAINER ID        IMAGE                           COMMAND                CREATED             STATUS                          PORTS                    NAMES
4d5ab7351d49        thomasm/typo3-45:latest         "/start.sh"            8 minutes ago       Exited (0) 8 minutes ago                                 typo          

我有点困惑。为什么拼写错误的名称会出现在 mysql 容器的名称列中。为什么错字容器退出?我没有看到任何错误消息。非分离,使用 bash 错字容器工作...

docker 日志的输出

$ docker logs typo 
* Starting web server apache2                                                  
AH00558:      apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.16. 
Set the 'ServerName' directive globally to suppress this message

*

【问题讨论】:

  • 您能否编辑您的问题,添加docker logs typo 命令的结果?
  • "为什么会出现拼写错误的容器?"因为你开始了!?!它退出时没有错误,因此状态显示为:“Exited (0) 8 minutes ago”
  • 我写的是“退出”而不是“存在”。我添加了 docker logs 错字输出。
  • 哦,我的错。在解决此类问题之前,我建议不要使用 -d 启动容器。

标签: docker linux-containers


【解决方案1】:

为什么mysql容器的names栏中会出现拼写错误的名称

因为它们是连在一起的

为什么拼写错误的容器会退出?

您可能会通过运行docker logs typo 找到线索。一个常见的错误是让容器在后台而不是在前台运行进程。

【讨论】:

  • “在后台而不是前台运行进程”到底是什么意思? Apache 总是在后台运行,不是吗?
  • 好的,明白你的意思。现在用 apachectl -DFOREGROUND 启动 apache
猜你喜欢
  • 1970-01-01
  • 2018-06-01
  • 2022-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多