AWS batch에서 docker login으로 작업을 실행하는 방법
배경
"그런 ECR에 이미지 두면 좋지 않아?"입니다만, 이미 DockerHub에서 리포지토리를 관리하도록 전체 설계해 버린 나와 같은 사람이 있다고 생각했기 때문에.
혹은, 자전으로 docker 리포지토리를 관리하고 있는 사람이 있을 것이라고 생각.
전제 조건
・DockerHub 나름의 인증이 필요한 장소에 docker의 이미지가 등록되어 있다
· EC2에서 Amazon Linux 인스턴스가 시작됨
· AWS batch를 사용하여 작업을 시작할 수 있습니다.
절차
EC2 인스턴스에서 ECS 요구 사항 충족
batch에서 시작할 수 있는 AMI는 다음 요구 사항( 매뉴얼은 이쪽 )을 충족해야 합니다.
・DockerHub 나름의 인증이 필요한 장소에 docker의 이미지가 등록되어 있다
· EC2에서 Amazon Linux 인스턴스가 시작됨
· AWS batch를 사용하여 작업을 시작할 수 있습니다.
절차
EC2 인스턴스에서 ECS 요구 사항 충족
batch에서 시작할 수 있는 AMI는 다음 요구 사항( 매뉴얼은 이쪽 )을 충족해야 합니다.
그래서 시작하는 EC2 인스턴스에 ssh로 액세스하고 작업합니다.
$ ssh -i ec2.key ec2-user@[EC2のIPアドレス]
# ECSコンテナエージェントをインストールします。
$ sudo amazon-linux-extras install -y ecs; sudo systemctl enable --now ecs
#dockerをインストールします。
$ yum install -y docker
이제 요구 사항을 보았습니다.
DockerHub 인증을 받은 AMI 생성
다음에 DockerHub의 인증을 해, batch로 기동했을 때에 그 자격 증명을 사용할 수 있도록(듯이) 합니다.
# DockerHubにログイン
$ docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don’t have a Docker ID, head over to https://hub.docker.com to create one.
Username: xxxxxxxxx
Password:
Login Succeeded
로그인하면 "~/.docker/config.json"에 아래와 같은 로그인 정보가 생성됩니다.
아래는 DockerHub에 로그인한 경우입니다.
( 다른 리포지토리 또는 여러 리포지토리를 사용하는 경우 작성 방법 )
{
"auths": {
"https://index.docker.io/v1/": {
"auth": "zq212MzEXAMPLE7o6T25Dk0i"
}
}
}
이것을 아래와 같이 batch가 EC2를 기동시킬 때 읽어들이는 설정 파일에 기술합니다.
$ sudo vi /etc/ecs/ecs.config
# 下記を記入
ECS_ENGINE_AUTH_TYPE=dockercfg
ECS_ENGINE_AUTH_DATA={"https://index.docker.io/v1/":{"auth":"zq212MzEXAMPLE7o6T25Dk0i","email":"[email protected]"}}
여기까지 할 수 있으면 EC2의 콘솔 화면에서 설정을 한 EC2에 체크를 넣고 「액션」→「이미지와 템플릿」→「이미지를 작성」을 선택해, 이미지명을 지정해 AMI를 작성합니다.
AMI를 지정하여 작업 등록
AMI 등록이 완료되면 AMI를 사용하여 작업을 시작할 수 있습니다.
먼저 AWS Batch 콘솔 화면에서 "컴퓨팅 환경"→ "만들기"로 이동합니다.
그런 다음 화면 아래의 "추가 설정: 템플릿, 사용자 지정 AMI 시작"을 열고 "사용자 지정 AMI ID"의 "활성화"를 선택합니다.
그러면 아래 이미지와 같이 AMI ID를 입력하는 텍스트 상자가 표시되므로 이전에 등록한 AMI의 ID를 붙여 넣습니다.
기타 필요한 항목을 설정한 후 컴퓨팅 환경 만들기를 클릭하여 컴퓨팅 환경을 등록합니다.
다음으로 「작업 큐」→「작성」으로 진행하여 방금 등록한 컴퓨팅 환경을 사용한 작업 큐를 등록합니다.
필수 항목을 입력하고 작성을 클릭하여 작업 대기열 등록이 완료됩니다.
마지막으로 작업 정의에서 사용하려는 개인 리포지토리의 이미지를 지정합니다.
필수 항목을 입력하고 작성을 클릭하여 작업 정의 등록도 완료합니다.
그런 다음 작업 대기열과 작업 정의를 사용하여 새 작업을 등록하면 개인 리포지토리의 이미지를 사용하여 docker 컨테이너에서 작업 정의 명령을 실행할 수 있습니다.
참고 URL
htps : // / cs. 아 ws. 아마존. 코 m / 바 tch / 아 st / 우세 r 구이 데 / 코 m 뿌테 _ 레소 r 세 _ 아미 s. html # 바 tch - 아미 s pec
htps : // / cs. 아 ws. 아마존. 코 m/아마조네 CS/아 st/로 html
htps : // / cs. 아 ws. 아마존. 코 m/아마조네 CS/아 st/로 HTML
Reference
이 문제에 관하여(AWS batch에서 docker login으로 작업을 실행하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nishidataishi/items/9447c518fe5065e39793
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(AWS batch에서 docker login으로 작업을 실행하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nishidataishi/items/9447c518fe5065e39793텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)