일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 웹 서버
- Spring
- 가상화
- JPA
- spring cloud
- 스프링 부트
- 데이터베이스
- spring boot
- Spring Security
- 백엔드
- computer science
- Java
- 스프링
- 스프링 배치
- web server
- 영속성 컨텍스트
- HTTP
- vm
- 도커
- 스프링 시큐리티
- virtualization
- 자바
- CI/CD
- mysql
- 컨테이너
- 배포
- CS
- ORM
- Container
- spring batch
- Today
- Total
목록docker (2)
개발 일기

공부하게된 계기Docker를 사용하다보니 컨테이너 런타임(Container Runtime)이라는 단어를 종종 듣게 됐다. 도커 관련 개발 블로그를 봐면 종종 컨테이너 런타임이라는 용어를 당연하다는 듯이 쓰는 것을 봤다. 처음에 그냥 뭐 컨테이너가 돌아가고 있는 것이나 컨테이너가 돌아가기 위한 소프트웨어? 환경? 이런 것이라고 대강 이해하고 넘어 갔었는데 Kubernetes에 관한 영상을 봤는데도 쓰는데 뭔가 자세히 한번 짚고 넘어가야겠다는 생각이 들어 정리해보게 됐다.도커 아키텍처(Docker Architecture)전에도 한번 다뤘지만 다른 그림으로 도커의 아키텍처를 다시 보자.도커 클라이언트-서버 아키텍처우선은 이게 전에 봤던 것과 유사하다. 기본적으로 도커는 클라이언트-서버 구조로 동작하는데 우선..

도입한 계기기존에 나는 Spring Boot로 구현한 백엔드 서버를 배포하는 과정은 처음에는 수작업으로 Dockerfile을 작성하고, 빌드한 이미지를 Docker Hub에 업로드한 후 EC2 서버에서 이를 pull하는 방식으로 진행했다. Nginx 역시 config 파일과 Dockerfile을 작성하고 빌드하여 동일한 방식으로 Docker Hub에 푸시하고 EC2에서 pull해오는 과정을 거쳤다. 이러한 과정을 하나하나 수동으로 처리하다 보니, 소스 코드에 수정이 있을 때마다 수정된 버전을 재배포하기 위해 반복적으로 이미지를 삭제하고, 컨테이너를 지우는 작업을 수행해야만 했다. 이렇게 적으면서만 봐도 너무 번거럽고 귀찮은 작업이다.이러한 반복적인 배포 과정을 자동화하기 위해 Jenkins나 GitHub..