AWS
docker 파일 하나로 단일 컨테이너 elastic beanstalk에 배포하기
나를찾는아이
2022. 2. 5. 19:57
728x90
반응형
단순히 단일 dockerfile을 사용해서 인스턴스 1개에 1개의 도커컨테이너만 배포되어도 되는 인프라 구성에서는
codepipeline을 통해 훨씬 더 간단하게 CI/CD를 구성할 수 있습니다
먼저 어플리케이션이 구동될수 있는 dockerfile을 작성합니다
간단하게 작성해볼게요
어플리케이션의 소스코드의 루트디렉토리에 위의 buildspec.yml 파일을 놓습니다
이 파일이 하는 일이라고는 빌드전후 과정에 아무런 영향을 미치지 않고
소스공급자로부터 받은 모든파일을 전달해주는 역할만 합니다
이렇게만 작성하셔서 codepipeline을 구성한다면
인스턴스는 전달받은 소스코드에 Dockerfile이 있는 것을 확인하고 해당 dockerfile을 컨테이너화하여 실행됩니다
이 과정에서 dockefile에 기술된대로 빌드가 실행되겠죠?
멀티 컨테이너가 실행되어야 한다면 docker-compose나 Dockerrun.aws.json 파일을 이용하여 복잡한 구성을 선언할 수 있지만
단일 컨테이너 환경이라면 Dockerfile이 포함된 소스코드를 전달하는것만으로도 자동으로 컨테이너화를 합니다
Dockerfile을 사용하는 경우에는 Dockerrun.aws.json 파일을 만들더라도 이 파일에서 Image 키를 지정하지 마십시오. Elastic Beanstalk는 Dockerfile이 있는 경우 이 파일에 명시된 이미지를 빌드하여 사용하기 때문에 image 키를 지정하지 않아도 됩니다
728x90
반응형