Amazon web services Docker-AWS-我接下来需要做什么?

Amazon web services Docker-AWS-我接下来需要做什么?,amazon-web-services,docker,web-applications,amazon-ec2,putty,Amazon Web Services,Docker,Web Applications,Amazon Ec2,Putty,我对AWS和Docker都是新手,但我知道了如何使用AWS创建实例,以及如何在其上安装Docker和拉/运行Docker映像。现在,我正在AWS实例上运行两个映像,dla核心和dla gui 当我在本地docker quickstart终端上运行它时,我可以在IP 192.168.99.100上检查我的web应用程序。但是现在我需要把它放到domain.com上,我不知道下一步该怎么做。您是否有任何想法、时间(可能是TeamViewer)和动机来帮助一个现在需要在域上运行此应用程序的绝望学生?非

我对AWS和Docker都是新手,但我知道了如何使用AWS创建实例,以及如何在其上安装Docker和拉/运行Docker映像。现在,我正在AWS实例上运行两个映像,dla核心和dla gui

当我在本地docker quickstart终端上运行它时,我可以在IP 192.168.99.100上检查我的web应用程序。但是现在我需要把它放到domain.com上,我不知道下一步该怎么做。您是否有任何想法、时间(可能是TeamViewer)和动机来帮助一个现在需要在域上运行此应用程序的绝望学生?非常感谢,我们也非常感谢您的评论和回复

这是我的核心Dockerfile(后端):

这就是gui的Dockerfile(前端)

首先,我开始build_core.sh

#/bin/bash
#mvn clean install
#JAR_WITH_DEPENDENCIES=`find target/dla-core*.jar -printf "%f"`
docker build --tag profile/dla-core .
然后是run_core.sh

#!/bin/bash
SKETCHPASS_CONFIG="conf/defaults.properties"
docker rm -f dla-core
docker run --name dla-core profile/dla-core
后来我转到了gui: build_gui.sh

#!/bin/bash
docker build -t profile/dla-gui .
run_gui.sh

#!/bin/bash
docker rm -f dla-gui
docker run --name dla-gui --rm -t -p 80:80 -v `pwd`:/dla-gui -e "SKETCHPASS_DEBUG=true" --link dla-core:backend profile/dla-gui

要在端口80上运行docker容器,请执行以下操作:
docker run-d-p 80:80
。如果不指定
,它将使用docker映像中定义的默认命令。Docker文档:

然后,您可以显示正在运行的容器
docker ps
,并且可以显示正在运行的日志
docker日志

要使其可从外部访问,您需要编辑实例安全组,并打开应用程序的端口(基于屏幕截图的端口80)至0.0.0.0/0(如果您希望从任何地方访问)。 此时,您应该能够使用实例公共IP访问您的网站


然后,您需要将实例公共IP添加到DNS中的a记录中

在端口80上运行docker容器:
docker run-d-p 80:80
。如果不指定
,它将使用docker映像中定义的默认命令。Docker文档:

然后,您可以显示正在运行的容器
docker ps
,并且可以显示正在运行的日志
docker日志

要使其可从外部访问,您需要编辑实例安全组,并打开应用程序的端口(基于屏幕截图的端口80)至0.0.0.0/0(如果您希望从任何地方访问)。 此时,您应该能够使用实例公共IP访问您的网站

然后,您需要将实例公共IP添加到DNS中的a记录中

1)在主机端口绑定到80的情况下运行docker容器

2) 允许分配给该EC2实例的安全组中的端口80

3) 将公共ip映射到AWS Route53中的记录运行docker容器,主机端口绑定为80

2) 允许分配给该EC2实例的安全组中的端口80



3) 将公共ip映射到AWS Route53中的记录

这是交互模式,不起作用。请尝试
docker run-d-p 80:80 myprofile/dla core
我将用更多细节更新答案。嗯,是的,两个容器不能在同一实例端口上运行。您应该仅为需要从外部访问的应用程序发布端口(
-p 80:80
)。那我不知道你的系统是怎么工作的。。。这两个应用程序是否相互通信?好的,gui访问本地主机后端的地址是哪个?有几种方法可以连接它们。例如,您可以使用Docker链接
docker-run-d——命名后端myprofile/dla-core
docker-run-d-p 80:80——链接后端:后端myprofile/dla-gui
。然后,您的后端将可以在dla gui容器中的
后端:
处访问。我不确定您如何管理配置。。。您可以使用
-e
选项传递环境变量。@Farukdoanci发布您的dockerfile或docker compose文件,以便我们了解您的容器链接。我认为docker文件是正确的!!那么,您可以在localhost的80端口上访问您的web应用程序吗?你需要公共Ip吗?那是交互模式,不起作用。请尝试
docker run-d-p 80:80 myprofile/dla core
我将用更多细节更新答案。嗯,是的,两个容器不能在同一实例端口上运行。您应该仅为需要从外部访问的应用程序发布端口(
-p 80:80
)。那我不知道你的系统是怎么工作的。。。这两个应用程序是否相互通信?好的,gui访问本地主机后端的地址是哪个?有几种方法可以连接它们。例如,您可以使用Docker链接
docker-run-d——命名后端myprofile/dla-core
docker-run-d-p 80:80——链接后端:后端myprofile/dla-gui
。然后,您的后端将可以在dla gui容器中的
后端:
处访问。我不确定您如何管理配置。。。您可以使用
-e
选项传递环境变量。@Farukdoanci发布您的dockerfile或docker compose文件,以便我们了解您的容器链接。我认为docker文件是正确的!!那么,您可以在localhost的80端口上访问您的web应用程序吗?您需要公共Ip吗?要删除所有容器:
docker rm-v$(docker ps-aq)
看起来不错。你会遇到什么错误?您的前端可以访问后端吗?是的,如果我像使用Docker Toolbox Terminal一样运行所有程序,那么所有程序都可以正常运行。我可以在上看到我的应用程序,我推动了两个repo,将其从AWS-EC2实例中拉出来。它成功了,我可以拉它,我可以运行图像。但我无法在我的弹性ip/dns上访问它。这就是我的问题,我需要让我的web应用程序可以访问。你可以使用
docker logs
来显示日志/错误。我发现了,它现在正在运行!非常非常感谢你,席琳!无论你身在何处,都假设你会收到我的鲜花!再次非常感谢:-)圣诞快乐!要移除所有容器:
dockerrm-v$(dockerps-aq)
看起来不错。你会遇到什么错误?你能
#!/bin/bash
docker build -t profile/dla-gui .
#!/bin/bash
docker rm -f dla-gui
docker run --name dla-gui --rm -t -p 80:80 -v `pwd`:/dla-gui -e "SKETCHPASS_DEBUG=true" --link dla-core:backend profile/dla-gui