avs-cli로 docker 이미지를 로컬push에서 ECR로 이동
aws-Coli 명령은 다음과 같습니다.
로컬에 aws-cli가 있는 경우
aws
이동성aws-cli가 없으면 docker 환경공식 컨테이너을 사용하십시오
docker run --rm -it amazon/aws-cli command
도 이동이 가능하다.이번에 사용한 aws-cli 버전은
2.1.24
입니다.~ % docker run --rm -it amazon/aws-cli --version
aws-cli/2.1.24 Python/3.7.3 Linux/4.19.121-linuxkit docker/x86_64.amzn.2 prompt/off
도커 이미지를 로컬에서 ECR의 개인 창고로 복사하는 절차는 다음과 같습니다.docker build
docker에 표시하는 동시에build로 그림을 만듭니다.
아래와 같이
aws_account_id
및 region
및 リポジトリ名
레이블을 추가해야 합니다.docker build -t aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app .
예:aws_account_id: 1111111111
region: ap-northeast-1
push로 만들고 싶은 ECR의 창고 이름:test-image
경우
docker build -t 1111111111.dkr.ecr.ap-northeast-1.amazonaws.com/test-image .
.aws-cli를 통해 ECR 로그인
docker login
push처의 등록표를 변경할 수 있습니다.기본값은 Docker Hub입니다.
이번에는 ECR push에 로그인해야 하기 때문에 ECR에 로그인해야 합니다.
사용자 이름 및 암호 로그인을 지정합니다.
ECR에 로그인하는 사용자 이름과 비밀번호는 무엇입니까?다음은
사용자 이름
AWS
비밀번호는 인증 영패입니다.aws-Coli를 사용하여 이 인증 영패를 획득합니다.
docker run --rm -it -v ~/.aws:/root/.aws amazon/aws-cli ecr get-login-password
이하는 현지.aws/
에 credentials
와 config
가 있는 전제 조건이다.// credentials
[default]
aws_access_key_id=xxxxxxxxxxxxxxxxxxxxxxxxxxx
aws_secret_access_key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// config
[default]
region=ap-northeast-1
output=json
--password-stdin
표준 입력을 사용할 수 있는 옵션이 있으므로docker run --rm -it -v ~/.aws:/root/.aws amazon/aws-cli ecr get-login-password \
--region <region>
| docker login \
--username AWS \
--password-stdin \
<aws_account_id>.dkr.ecr.<region>.amazonaws.com
get-login-password
에서 얻은 영패 문자열은 docker login의password로 사용할 수 있습니다.로그인 성공 을 표시합니다.
MFA 사용 시
또 MFA를 사용할 때는 크레덴셜을 통해 직접 로그인할 수 없다.
Error response from daemon: login attempt to https://111111111.dkr.ecr.ap-northeast-1.amazonaws.com/v2/ failed with status: 400 Bad Request
MFA용 인증 정보를 미리 취득해야 한다.aws sts get-session-token --serial-number arn-of-the-mfa-device --token-code code-from-token
arn-of-the-mfa-device
부분은 IAM에서 사용자를 선택하고 화면 레이블을 인증하는 MFA 장치의 배정에 적었다.code-from-token
부분은 Authenticator 등의 코드입니다.에서 가져온 정보를 사용하여 다음과 같이 파일을 만듭니다.
# ~/.aws/mfa_credentials
[default]
aws_access_key_id = xxxxxxxxxxxxx
aws_secret_access_key = xxxxxxxxxx
aws_session_token = cxxxxxxxxxxxxx
환경 변수에서 인증에 사용할 파일을 설정하는 동시에 로그인합니다.docker run -e AWS_SHARED_CREDENTIALS_FILE=/root/.aws/mfa_credentials --rm -it -v ~/.aws:/root/.aws amazon/aws-cli ecr get-login-password \
--region <region>
| docker login \
--username AWS \
--password-stdin \
<aws_account_id>.dkr.ecr.<region>.amazonaws.com
docker push
docker push[옵션] 이름 [:태그]
docker push
이후 Docker 이미지를 Docker Hub 또는 레지스트리에 공유할 수 있습니다.위
docker login
에 ECR에 로그인한 상태이기 때문에 push를 통해 ECR에 push할 수 있습니다.docker push 1111111111.dkr.ecr.ap-northeast-1.amazonaws.com/test-image
Reference
이 문제에 관하여(avs-cli로 docker 이미지를 로컬push에서 ECR로 이동), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/hid3/articles/d1a76ee753ecc9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)