사전 준비: 도커 이미지 만들기
1. 도커허브에 push 하기
1) 도커 로그인
- 프로젝트 위치에서 도커 로그인
docker login
첫 로그인
재로그인
2) 도커 이미지에 도커 허브의 리포지토리와 태그 추가
docker tag {로컬에 저장된 이미지명:태그} {도커허브ID}/{이미지명}:{태그}
3) 도커 허브에 이미지 push
docker push {도커허브ID}/{이미지명}:{태그}
4) 확인하기
도커허브 접속
5) Repositories 에서 내가 push한 이미지 확인
2. 도커허브에서 pull 하기
1) pull
docker pull {도커허브ID}/{이미지명}:{태그}
2) 실행해보기
docker run --name {} -d -p {호스트포트}:{컨테이너포트} {도커허브ID}/{이미지명}:{태그}
🤯 에러
더보기
WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64/v4) and no specific platform was requested
exec /usr/bin/java: exec format error
호스트 시스템 아키텍처와 이미지의 아키텍처가 맞지 않을 때 발생하는 에러.
이미지의 플랫폼이 호스트 시스템의 플랫폼과 다를 때 나타나며, 에러는 실행하려는 바이너리의 형식이 호스트 시스템에서 실행할 수 없는 형식일 때 발생.
로컬 테스트에서는 push/pull 해서 run 까지 되었는데 vm 서버에서 pull 받아서 run 하면 발생하는 에러였음
맥북M2 에서 이미지 빌드할 때 생성된 빌드 플랫폼이 vm 서버와 호환되지 않아서 발생된 에러
아래 명령어를 이용해서 플랫폼을 vm 서버 빌드 플랫폼 linux/amd64 로 설정하여 이미지를 빌드 하면 정상 실행됨
docker buildx build --platform linux/amd64 -t {도커허브ID}/{이미지명}:{태그} .
push
pull
run
'Docker' 카테고리의 다른 글
[Docker] 컨테이너 관련 명령어 (0) | 2024.01.13 |
---|---|
[Docker] NVIDIA container toolkit 설치 (nvidia-docker) (0) | 2024.01.12 |
[Docker] 스프링부트 프로젝트 도커 이미지(image) 만들고 실행하기 (2) | 2024.01.08 |
도커(docker) VS VM(Virtual Machine) 비교 (0) | 2024.01.08 |
[Docker] 맥북 m2 홈브루(homebrew)로 도커 설치 (1) | 2024.01.08 |