Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker aws端口_Docker_Amazon Ec2_Containers_Port - Fatal编程技术网

Docker aws端口

Docker aws端口,docker,amazon-ec2,containers,port,Docker,Amazon Ec2,Containers,Port,我刚开始使用docker。 我问我是否可以在同一个aws ec2实例上运行多个容器,触发ec2实例上单个端口上容器的所有端口 假设我们有3个容器: container1在端口80上运行apache2 在端口80上运行的nginx的container2 container3在端口8080上带有tomcat 如何从我的电脑访问这些服务 为此,我读到需要通过键入option-p externport:containerport来公开端口,但它不起作用 所以我想改变网络,然后我使用选项--netwo

我刚开始使用docker。 我问我是否可以在同一个
aws ec2
实例上运行多个容器,触发ec2实例上单个端口上容器的所有端口

假设我们有3个容器:

  • container1
    在端口80上运行
    apache2
  • 在端口80上运行的
    nginx的
    container2
  • container3
    在端口8080上带有
    tomcat
如何从我的电脑访问这些服务
为此,我读到需要通过键入option
-p externport:containerport来公开端口,但它不起作用
所以我想改变网络,然后我使用选项
--network=host
将所有端口触发到同一ip,但它不起作用

我只想通过以下方式访问这些容器:

  • my-ec2-instance-public-dns:8080->container1
  • my-ec2-instance-public-dns:8081->container2
  • my-ec2-instance-public-dns:8082->container3

有人能帮我吗

无法将两个服务映射到同一端口。使用时,可以使用-p标志将容器端口映射到主机端口,格式为hostPort:containerPort

在你的情况下,它可能是

docker run -p 8080:80 nginx
docker run -p 8081:80 apache2
docker run -p 8082:8080 tomcat

确保将虚拟机的AWS安全组设置为允许从IP到端口8080-8082的通信。

无法将两个服务映射到同一端口。使用时,可以使用-p标志将容器端口映射到主机端口,格式为hostPort:containerPort

在你的情况下,它可能是

docker run -p 8080:80 nginx
docker run -p 8081:80 apache2
docker run -p 8082:8080 tomcat

请确保您将虚拟机的AWS安全组设置为允许从IP到端口8080-8082的通信。

可能的重复项您可以共享实际的
docker run
命令或
docker compose.yml
文件吗?共享一个端口,不,不是没有某种代理层;在单独的端口上,docker run-p的简单应用程序;这两个主题都应该可以很容易地搜索到。您可以共享实际的
docker run
命令或
docker compose.yml
文件吗?共享一个端口,不,不是没有某种代理层;在单独的端口上,docker run-p的简单应用程序;这两个主题都应该很容易搜索。如果我这样做并给出图像名称,即
docker run-p 8080:80
,它会创建相同iage的新容器,我只想连接运行的容器,我该怎么做?如果我这样做并给出图像名称,即
docker run-p 8080:80
,它会创建相同iage的新容器,我只想连接正在运行的容器我怎么能做到?