Docker 运行无法使用最新命令

问题描述 投票:0回答:1

我使用两个命令来创建一个容器

  1. sudo docker 容器运行 --name webserver1 --publish 80:80 nginx
  2. sudo docker 容器运行-it --name webserver2 --publish 81:80 nginx /bin/bash

“第一个命令运行正常,包括通过 127.0.0.1:80 的本地主机访问时。但是,当我使用第二个命令时,它成功创建并启动容器,但本地主机上的 Nginx 服务器无法工作。有吗第二个命令有问题吗?请解释一下。”

嗨,团队,

我使用两个命令来创建一个容器

  1. sudo docker 容器运行 --name webserver1 --publish 80:80 nginx
  2. sudo docker 容器运行-it --name webserver2 --publish 81:80 nginx /bin/bash

如何使用第二个命令或任何可用的替代命令?

当包含 /bin/bash 时,nginx 无法使用第二个命令启动

docker docker-compose dockerfile docker-swarm docker-machine
1个回答
0
投票

第二个容器用

/bin/bash
替换了默认运行命令(nginx 服务器)。 Bash 是一个 shell,而不是 nginx 服务器,并且不会侦听端口 80 上的 http 请求。因此,任何对本地主机端口 81 的请求都将转发到容器端口 80 并被容器拒绝,因为没有应用程序侦听该端口。

© www.soinside.com 2019 - 2024. All rights reserved.