본문 바로가기

Docker7

[AWS] ECR에 도커 이미지 푸시하는 방법

작업 순서 1. aws 웹에서 ecr에서 레포지토리를 생성함. 2. 내 로컬(내 컴퓨터)에 aws-cli와 docker를 설치함. 3. 내 웹 프로젝트 홈 경로에 dockerfile 폴더를 만들고, 설정 작성한다. 4. docker를 실행한 상태에서 도커 빌드를 해서 이미지 파일을 만든다. 5. aws ecr에 만든 레포지토리에 push한다. ecr에 레포 페이지에 들어가보면 [푸시 명령 보기] 버튼이 있다. 눌러보면, 모달에 4개 순서가 뜬다. 그대로 하면 된다. 도커 명령어 실행하는데, 다음처럼 에러가 발생했다. Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 출처: http.. 2022. 10. 21.

[AWS] Amazon Elastic Container Registry(Amazon ECR)

난 오늘 ECR을 처음 알았다. AWS의 도커 정도로 생각하고 있다. 문서를 보니, ECR에 컨테이너 이미지만 푸시하면 되는 것 같다. ECR에 컨테이너 이미지를 올리고, 컨테이너를 실행하고, Amazon EC2의 요청을 받을 수 있도록 설정하면, EC2로 들어오는 요청을 받아서, 웹을 응답해줄 수 있는 듯 하다. 나 같은 경우, Nuxtjs의 웹 애플리케이션을 S3에 빌드 파일을 올려서 사용하고 있는데, 팀에서 ECR을 도입하였다. NUxtjs를 컨테이너 이미지 파일로 만들어 ECR에 업로드하고, ECR과 EC2를 연결했다. 그리고, EC2의 요청을 CloudFront가 받도록 하였고, CloudFront는 Route53에의해서, 특정 도메인 요청에 의해서 호출되게 해놨다. 좀 더, ECR을 파보면, .. 2022. 9. 26.

jar파일을 docker를 사용해서 aws에 배포하는 명령어

안녕하세요. 이번 포스팅에서는 제가 jar 앱을 docker 사용해서 aws에 배포하면서 사용한 명령어를 순서대로 알아보겠습니다. 아래 사진은 제가 만들어 본, 시스템 구성도입니다. 1. IDE에서 jar 패키징 > mvn clean package //테스트 뺴고 패키징하려면 옵션으로 -DskipTests를 주면 됩니다. 2. docker로 패키징한 jar를 docker 이미지로 빌드합니다. - 해당 명령어는 로컬 PC에 설치된 docker에 이미지가 생성되는 것입니다. - Docker Hub에 이미지를 올리려면 이미지 이름을 /: 형식으로 생성해야 합니다. 아무 사용자 이름이나 사용할 수 있지만 내 계정 이름과 일치해야 이미지를 올릴 수 있습니다. 태그를 지정하지 않으면 latest가 됩니다. > do.. 2020. 10. 20.

aws 인스턴스 서버에 [처음]Spring Boot jar를 올린다면 알아야할 주의 사항

스프링부트 애플리케이션을 prod.properties로 docker 이미지로 빌드하고, aws-lightsail에 docker 이미지를 올려서 컨테이너를 실행해서 앱을 서비스하는 작업을 끝냈습니다. 실제로 제가 서버에 올리는 작업을 하면서 만든 구성도입니다. 이대로 작업했습니다. IDE에서는 잘 동작했던 앱이 패키징한 jar로 실행하니 많은 문제가 발생했습니다. 실무에서 이런 일이 터졌다면, 정말.. 상상도 하기 싫습니다. 이번 포스팅에서는 이번 작업을 수행하면서 발생한 문제와 해결방법들을 얘기해보려고 합니다. 제가 마주한 문제는 다섯 가지였습니다. 1. spring boot application-prod.properties로 설정해서 어떻게 앱을 jar패키징하고 도커에 빌드해서 서버에 올릴 것인지 [해.. 2020. 10. 16.

Docker 기본 명령어 모음

-도커 실행 중인 컨테이너 리스트 확인 docker ps - 도커 중지된 컨테이너 리스트 확인 docker ps -a - 실행 중인 컨테이너 중지 명령어 $ docker stop 컨테이너 아이디 or 컨테이너 이름 //docker stop fewj2321opo - 중지된 컨테이너 다시 실행시키는 명령어 docker start 죽은 컨테이너 이름 - 실행 중인 컨테이너 bash 모드로 접근하기 docker exec -i -t 컨테이너이름 bash -i : Interactive 모드로 표준입력과 표준출력을 키보드와 화면을 통해 가능하도록 하는 옵션이다. -t : 텍스트 기반의 터미널(TTY)을 애뮬레이션해주는 옵션이다. * Docker 문서에 나와있는 옵션 설명 - 생성되어 있는 컨테이너 삭제 $ docke.. 2020. 9. 14.

[Docker]개념 살펴보기(with. Doc)

Docker Doc Docker란 무엇일까요? 도커는 application을 build, run and share할 수 있는 플랫폼입니다. docker에는 "Containerization"이란 개념이 있고, 이것은 application을 배포하기 위해서, 컨테이너들을 사용하는 것을 말합니다. 컨테이너는 application을 쉽게 배포할 수 있게 해주는 것입니다. Images와 containers가 주요 핵심 개념입니다. 이 발취문의 핵심은 docker에는 containers라는 일종의 프로세스단위가 존재하는데, 이 프로세스는 자체 컨테이너가 들고 있는 fileSystem과 상호작용으로 실행이 되고 있는 것입니다. 여기나오는 fileSystem이 images인데, images가 애플리케이션을 실행할 수 .. 2020. 7. 25.

[Springboot+Docker+AWSLightsail]애플리케이션 배포하기

안녕하세요. 이번 글은 제가 너무나 해보고 싶었던 Springboot+Docker+AWS조합으로 애플리케이션을 배포하는 공부를 해보려고 합니다. 유튜브 영상을 통해서 따라서 구현을 해보았고, 궁금한 점들은 Docker 공식문서와 AWS LightSail 문서를 참고했습니다. 사실, Docker를 굳이 쓸 필요는 없었습니다. 하나의 서버에 여러 개의 애플리케이션을 실행하거나 관리하는 규모가 큰 애플리케이션이 아니기 때문입니다. 여기서는 공부해 보고 싶어서 사용해 보았습니다. 1. [IntelliJ] Springboot에 docker 배포 설정하기 pom.xml에서 태그를 추가합니다. 이 태그에 추가한 이름이 Maven 패키징을 하고 떨어지는 jar파일의 이름이 됩니다. spring-docker-app 2... 2020. 7. 25.