AWS로 Docker 컨테이너를 시작하는 방법
AWS의 EC2에서 Docker가 실행하는 항목, Hosting 응용 프로그램을 시작합니다.
카탈로그
앞으로 사용할 클라우드의 EC2 Instance를 먼저 시작합니다.
EC2는 AWS가 말한 거대한 기계의 가장 기초적인 부품이다.클라우드에서 가상 컴퓨터를 만드는 서비스입니다.
를 클릭하여 인스턴스를 시작합니다.
기계 그림을 선택하십시오.Linux, Windows, Mac 모두 선택할 수 있지만 AWS 기능이 있는 Amazon Linux를 사용하려면 맨 위에 있는 Kernel 5.10을 선택하십시오.
다음은 인스턴스 유형을 지정합니다.자원을 얼마나 분배할지 결정하는 곳이지만 이번에는 무료 테두리를 사용하고 싶어 초기치 t2입니다.마이크로를 사용합니다.
기계 학습, 영상 처리 등 CPU 자원이 많이 필요한 항목이라면 이곳에서 분배할 수 있다.
다음은 세부적으로 설정된 네트워크 설정입니다. 다음 네트워크 부분에서 기본 옵션을 선택하십시오.없으면 새 VPC 만들기를 클릭하여 만듭니다.
다른 설정은 바꾸지 않고 직접 클릭하여 확인하고 제작할 수 있습니다.
그리고 다음 페이지의 네트워크 보안이 위험합니까?라고 경고하기도 했다.모든 IP 주소에서 Instance에 연결할 수 있기 때문입니다.이번에는 액세스 가능한 IP 주소를 지정하는 방법에 대해 설명합니다.이번에는 이렇게 시동을 걸겠습니다.
다음 단계는 매우 중요하다.SSH 연결을 사용하려면 키 쌍(RSA 키)이 필요합니다.
새 키 쌍을 만들고 이름을 지정하고 다운로드합니다.이 열쇠가 있으면 누구나 연결할 수 있는 상태가 되니 주의해서 사용하세요.
다운로드가 완료되면 생성 버튼을 클릭합니다.
인스턴스가 시작될 때까지 기다립니다.시동을 걸면 이런 화면을 확인할 수 있다.
SSH를 통한 Instance 액세스
먼저 다운로드한 열쇠.pem 파일을 사용자의 루트 디렉터리에 넣습니다.
Mac OS의 경우/Users/{사용자 이름} 의 위치입니다.
Terminal(터미널)을 열고 다음 Command를 실행합니다.
신중하게 루트 디렉터리로 돌아가기 위해서.
cd ~
다운로드 받았어요.파일 폴더를 숨깁니다.ssh에 넣다.mv next-socketio-chat.pem .ssh/
다음.pem 파일의 권한을 chown에서 사용하는 컴퓨터 사용자로 바꾸지 않으면 읽을 수 없습니다. 따라서 다음과 같은 Command를 실행합니다.cd .ssh/
chmod 400 next-socketio-chat.pem
이렇게 하면 이 열쇠를 사용할 수 있으니 연결해 보세요. -쓰다pem 파일을 연결할 때 사용하도록 지정합니다.00-00-00-00에 공용 IPv4 주소를 입력하십시오.ssh -i "next-socketio-chat.pem" [email protected]
이렇게 되면 이 화면이 나오고 EC2에 들어갑니다!이를 알게 되면 기쁜 장면으로 변해 휴지로 눈물을 닦고 다음 내용을 계속 읽는다.GTI 및 Docker 설치
EC2의 Amazon Linux는 yum에 패키지를 설치합니다.
패키지를 업데이트하고 다음 Command를 실행하는 것이 좋습니다.Y는 Yes·No를 물었을 때 모두 Yes로 답하라는 뜻이 있다.
sudo yum update -y
다음으로 Giit를 설치합니다.sudo yum install git -y
그리고 Docker.하지만 이곳은 일반적인 설치가 아니라 AWS 서비스를 통해 설치하면 비교적 수월하기 때문에 아래의 Command를 실행한다.sudo amazon-linux-extras install docker
다음 Command를 통해 Giit 및 Docker의 안전한 설치를 확인할 수 있습니다.docker --version
git --version
Docker의 서비스를 시작합니다.sudo service docker start
여기서 Docker는 정상적으로 사용할 수 있습니다.docker의 Command 앞에 sudo를 설치해야 합니다.사전 Build 이미지 또는 EC2에서 Build 사용
전진하기 전에 나는 약간의 설명을 하고 싶다.
EC2에 인상을 주는 방법은 두 가지가 있다.
1. Giit 등을 사용하여 EC2에서 clone 소스 코드를 만들고 Build를 만드는 방법
1. 로컬 컴퓨터에서 만든 이미지를 Docker Hub 등에 업로드하고 EC2로 다운로드하는 방법
필자는 후자의 방법을 추천한다.실행 이미지는 환경에 의존하지 않고 Build 이미지는 환경에 의존하기 때문에 왜 이렇게 말합니까?
Docker가 이런 고민을 해결해 어렵게 현지에서 구동 실험을 했으니 그냥 쓰려고 했죠?
하지만 인터넷 환경이 좋지 않아 인상을 올리는 것도 번거롭기 때문에 두 가지 방법을 소개해 드리겠습니다.
clone Repository를 통해 Docker 이미지를 만드는 방법
지금부터 필자가 지난 기사에서 제작한 넥스트 앱을 사용하겠습니다.
https://qiita.com/tronicboy/items/7969a77817d8f2706b52
Git Hiub에서 clone 소스 코드를 시작합니다.
git clone https://github.com/tronicboy1/next-socket.io-chat.git
그 다음은next-socket입니다.io-chat 폴더, Build 이미지로 이동합니다.cd next-socket.io-chat/
sudo docker build -t next-socketio-chat .
만약 이 메시지가 표시된다면, 평안 Build는 할 수 있다!Docker Hub에서 이미지 다운로드 방법
방법이 하나 더 있어.이는 Docker 이미지를 미리 Build 하여 Docker Hub 등에 업로드하는 EC2 Instance 다운로드 방법입니다.
이번에는 필자가 올린 인상을 사용하자.
https://hub.docker.com/repository/docker/tronicboy/next-socket.io-chat
다음 Command를 실행하면 다운로드됩니다.
sudo docker pull tronicboy/next-socket.io-chat:latest
그나저나 다음 도커 런의 Command를 실행할 때 위의 그림이 다운로드되지 않으면 도커가 자동으로 Pull을 진행합니다. 솔직히 필요 없습니다.어쨌든 인상부터 확인해 보세요.
sudo docker images
전혀 문제 없어요.
시동 컨테이너
이어 EC2에서 컨테이너를 만들어 시행한다.
sudo docker run -d --rm -p 80:3000 tronicboy/next-socket.io-chat
EC2의 포트는 80호이고 노드는 소스 코드로 지정된 3000호이다.EC2에서 Port의 80번을 사용하면 아래의 보안 그룹 설정을 통해 알 수 있지만 외부에서 온 HTTP 요청은 80번만 허용됩니다.보안 그룹 설정
이제 Docker로 프로그램을 시작합니다. 네!열어봐!이렇게 생각하면 잠깐만!이제 공용 IP 주소로 열어도 연결할 수 없습니다.
보안팀에서 설정하지 않으면 안 돼요.
먼저 AWS에서 방금 작성한 Instance의 관리 화면 아래에서 보안 레이블을 클릭하고 보안 그룹에 대한 링크를 클릭합니다.
입국 규칙 편집을 클릭합니다.
이제 SSH 연결을 허용하는 Port의 22호가 표시됩니다.HTTP 요청을 허용하는 규칙을 추가하려면 추가를 누르십시오.
그리고 아래처럼 설정을 바꾸어 저장합니다.
그러면 공용 IPv4 주소로 방문하시면 예쁘게 나오세요!
총결산
이상에서 가장 간단한 방식으로 EC2에서 Docker의 이미지를 시작하여 외부에서 접근할 수 있도록 합니다.
나는 docker 이전에 sudo를 사용하고 싶다. 사실 이 부근에는 EC2의 중요한 일이 숨겨져 있지만 이번에는 이런 것들이 언급되지 않았다.
앞으로 나는 더욱 세련된 방법에 관한 보도를 한 편 쓰고 싶다.
Reference
이 문제에 관하여(AWS로 Docker 컨테이너를 시작하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tronicboy/items/afbc258df531c071c89b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)