이번주는 Docker로 시작해서 Docker로 끝났습니다.
Docker는 개발자와 시스템 관리자가 애플리케이션을 배포하고 실행하기 위해 사용하는 오픈소스 컨테이너화 플랫폼입니다. 컨테이너화란 애플리케이션을 실행하는 데 필요한 코드, 라이브러리, 종속성 등을 포함하는 가벼운, 실행 가능한 패키지를 만드는 프로세스입니다. 이는 애플리케이션을 다양한 컴퓨팅 환경에서 쉽고 일관되게 실행할 수 있게 합니다.
hub.docker.com에 내 홈페이지 이미지 올리기
dockerhub에 올라간 이미지를 사용해 fly.io 배포하기
docker Load Balancing(Local)
docker network
Dockerfile
docker로 ubuntu IMG 를 받아서 NGINX 설치하기
Crontab
github action 따라하기
fly.io 에 배포한 도커 이미지가
1분 마다 git pull 을 수행해서
github 에 PUSH 하면 1분 안에 새로운 홈페이지가 반영 되도록
무중단 배포 만들어 보기
blog 를 fly.io 에 A,B 배포
lb 를 fly.io 1곳에 배포
lb 를 통해 들어가면 fly.io blog A, B 가 순차 적으로 보임
A, B 중 하나를 업데이트 하는 동안 서비스는 중단 되지 않음
좋았던 점 (Liked)
- 강사님이 내주시는 과제는 마치 대학교 시절 교수님이 내주시던 과제를 떠오르게 합니다. 배운 걸로 이걸 만들 수 있는게 맞나? 싶지만, 과제를 다 하고 나면 배움에 도움이 많이 됩니다.
아쉬웠던 점 (Lacked)
- 악마에 들린 내 컴퓨터.
이번주에는 특이하게 같은 상황에서 제 컴퓨터에서만 뭔가 이상한 상황이 종종 발생했습니다. (다른 사람들은 3분 걸리는게 저는 7분걸리는 build 라던지..) 덕분에 수업 따라가는데 매우 정신이 없었습니다.
배운 점 & 개인공부 (Learned)
- Dockerfile을 build할 때, apt update 속도가 강사님은 2분이면 끝나는데 내 컴퓨터는 7분씩 걸려서 수업에 따라가기가 힘들었었다. 원인은 모르겠지만, apt 미러 서버를 kr로 바꿔서 해결했다.
- 리눅스 환경에서 vi 편집기도 사용하지만, 별도로 vscode를 사용하고 있었는데, 해당 편집기로 편집을 하면 Dockerfile이 정상적으로 동작하지 않는 것을 확인 할 수 있었다. 원인은 vscode의 EOL설정 때문이였는데, AUTO로 되어있는데 리눅스 환경에서는 자동으로 EOL을 리눅스에 맞게 넣어줘야하는데, 리눅스 환경에서도 EOL을 다르게 저장해주는 것 같다. 수동으로 EOL을 \n으로 setting 해놓으니 정상 동작하는 것을 확인할 수 있었다.
- 인프런 JAVA 강의 듣기
앞으로의 계획 (Longed for)
- 학원에서 제공해준 인프런 Spring 강의 듣기