DevOps/Deploy 실전
EC2 + Docker + Docker hub 애플리케이션 배포
PHM
2023. 11. 6. 15:15
로컬에서
- 내 애플리케이션에 Dockerfile 생성 및 설정
- docker hub 로그인
docker login -u [username]
- docker image 생성 및 확인
# 기본 커맨드
# docker build -t [dockerHub ID]/[이미지명]:[태그명] [DockerFile위치]
# 태그 지정X 시 :latest 지정됨
$docker build --platform amd64 -t [dockerHub ID]/[이미지명] .
docker images
- docker hub push
# Docker Hub Push
#docker push [DockerHub ID]/[image 파일명]
$docker push minits/devops_test
- docker desktop 에서 확인
원격(EC2) 에서
- 접속한 인스턴스에 Docker 설치
sudo yum install docker -y
- docker image 컨테이너화
# Docker Pull + 컨테이너화(실행)
# 커맨드 기본 골조
# docker run -d -p [로컬 port]:[도커 port] [dockerHub ID]/[이미지명]
$sudo docker run -d -p 8080:8080 minit97/devops_test
ㆍ-d : 백그라운드에서 실행
ㆍ-p : 로컬의 포트로 접속시 docker의 어떤 포트와 연결할 것인지
ㆍ-it : i, t 옵션을 같이 사용하는 것이다, 키보드의 입력을 표준입력으로 전달하는 옵션
* 2번째 실행부터는 이미 컨테이너가 존재하기 때문에 docker start [컨테이너명 또는 ID] 로 실행해야한다.
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock.
Is the docker daemon running?.
ㆍ해당 오류 시 sudo systemctl start docker
ㆍhttps://league-cat.tistory.com/347
WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64)
and no specific platform was requested
ㆍ스프링 부트에서 도커이미지를 빌드할 때 --platform linux/amd64 키워드 추가
ㆍhttps://sas-study.tistory.com/425