0

我在AWS也多克爾全新的,但我想通了如何創建一個實例與AWS以及如何在其上安裝碼頭工人和拉/運行一個碼頭工人的形象。現在,我正在運行我的AWS-Instance兩個映像,dla-core和dla-gui。Docker - AWS - 接下來我需要做什麼?

當我在我的本地碼頭工人快速啓動終端上運行它,我可以檢查IP 192.168.99.100我Web應用程序。但是現在我需要將它交給一個domain.com,我不知道下一步該怎麼做。你有什麼想法,時間(也許爲的TeamViewer)和動機,幫助一個絕望的學生誰需要的今天域上運行此應用程序?非常感謝,評論和回覆也非常感謝!

enter image description here

這是我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"] 

,這就是GUI(前端)

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 

首先我的Dockerfile 「M開始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 
+1

要刪除所有的容器:'搬運工RM -v $(泊塢窗PS -aq)' –

+0

這看起來不錯。你遇到了哪個錯誤?你的前端能否訪問你的後端? –

+0

是的,如果我跑,因爲我曾經與碼頭工人工具箱終端運行一切,一切工作正常。我可以在http://192.168.99上看到我的應用程序。100/ 我推動了這兩個回購從我的AWS-EC2實例拉。它的工作,我可以拉它,我可以運行的圖像。但是我無法通過彈性ip/dns訪問它。這是我的問題,我需要讓我的Web應用程序可訪問。 –

回答

2

要運行碼頭集裝箱在港口80:docker run -d -p 80:80 <docker_image> <command>。如果您未指定<command>,它將使用在泊塢窗鏡像中定義的默認命令。碼頭工人文檔:https://docs.docker.com/engine/reference/commandline/run/

然後,您可以顯示您的容器中運行docker ps,您可以顯示日誌運行docker logs <container_name>

爲了讓外部訪問,你需要編輯您的實例安全組,並打開您的應用程序的端口(基於你的屏幕截圖的端口80)到0.0.0.0/0,如果你想從任何地方訪問它。 此時,您應該可以使用實例公用IP訪問您的網站。

然後,你需要到您的實例公網IP添加到A記錄在您的DNS。

+0

嗨Celine!我發佈了我的安全組的屏幕截圖,是否設置了錯誤的內容?我無法使用實例公共IP訪問我的應用程序。 –

+0

它看起來不錯。它是0.0.0.0/0(不是0.0.0.0/80) –

+0

然後,您需要確保應用程序在您的實例上的該端口上運行。你是否用這樣的東西啓動你的Docker容器:'-p 80:80'? –

0

1)在與主機端口綁定你的搬運工容器80

2)允許使用80端口的分配給EC2實例安全組。

)網友公網IP的記錄在AWS Route53

相關問題