Docker – AWS – 接下来我需要做什么?

我完全是AWS和Docker的新手,但是我想出了如何使用AWS创build一个实例,以及如何在其上安装docker,并运行docker镜像。 现在,我正在运行我的AWS-Instance两个映像,dla-core和dla-gui。

当我在本地docker quickstartterminal上运行它时,我可以在IP 192.168.99.100上查看我的web应用程序。 但是现在我需要把它交给一个domain.com,我不知道下一步该怎么做。 你有任何想法,时间(也许是为了TeamViewer)和动力,以帮助一个绝望的学生谁需要今天在域上运行这个应用程序? 非常感谢,评论和回复也非常感谢!

在这里输入图像说明

这是我的核心 (后端) Dockerfile

FROM maven:3-jdk-8 # Build ADD . /sketchpass-core ADD src/main/bash/run.sh /sketchpass-core/ WORKDIR /sketchpass-core RUN mvn clean install RUN chmod +x run.sh # Run EXPOSE 11337 ENV SKETCHPASS_CONFIG=conf/defaults.properties CMD ["/sketchpass-core/run.sh"] 

这就是guiDockerfile (前端)

 FROM ubuntu RUN apt-get update RUN apt-get install -y python-requests python-flask python-pandas python-pil gunicorn ADD . / CMD ["python", "scribble.py"] EXPOSE 80 

首先我开始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 run -d -p 80:80 <docker_image> <command>容器: docker run -d -p 80:80 <docker_image> <command> 。 如果不指定<command> ,它将使用docker镜像中定义的默认命令。 Docker文档: https : //docs.docker.com/engine/reference/commandline/run/

然后,您可以显示运行docker ps的容器,并显示运行docker logs <container_name>

为了使它可以从外部访问,你需要编辑你的实例安全组,并根据你的屏幕截图打开你的应用程序的端口(端口80)为0.0.0.0/0,如果你想从任何地方访问它的话。 此时,您应该可以使用实例公用IP访问您的网站。

然后,您需要将您的实例公用IP添加到DNS中的Alogging。

1)运行你的docker容器与主机端口绑定到80。

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

3)将公共IP地址映射到AWS Route53中的Alogging