21.11.15 TIL38

서태욱·2021년 11월 15일
0

🔎 오늘 배운 것

왜 도커인가?

도커는 개발에 필요한 다양한 작업들, 예컨대 언어 설정, 프레임워크, 아키텍처 및 각 수명 주기 단계에 대한 도구 간 불연속적 인터페이스 등으로 인해 발생하는 복잡성을 해결해준다. 워크플로우를 단순화, 가속화해 개발자가 환경에서 앱을 분리하여 문제를 해결할 수 있도록 해주는 표준화된 소프트웨어 단위다.

소프트웨어 실행에 필요한 모든 것들을 포함(코드, 런타임, 시스템 도구, 시스템 라이브러리 등)한 파일 시스템 안에 감싸줌으로써 실행 환경이 무엇이든지간에 동일한 실행이 될 수 있도록 해준다.

"Dockerfile 만들기"

Error 01

역시 실습할 때에도 스스로 생각을 하면서 진행해야 한다. 실습 시작을 위해서 몇번이고 시도해도 Dockerfile만드는 것부터 계속 오류가 났다.

Error response from daemon: COPY failed: file not found in build context or excluded by .dockerignore: stat build/libs/demo-0.0.1-SNAPSHOT.jar: file does not exist

이런 오류가 계속 떴는데 에러메시지를 검색해봐도 딱히 별다른 수가 없는 거 같다고 느낄 무렵, 코드랑 에러메시지를 다시 자세히 보니 build/libs/demo-0.0.1-SNAPSHOT.jar 라는 파일이 없다고 "친절히" 알려주고 있었다.. 예제대로 하지 않고 스스로 해본다고 파일 명을 다르게 잡았는데, 그 때문에 명령어대로 하면 파일을 찾지 못했던 것이다. demo 부분을 내가 생성한 파일명으로 바꾸니 제대로 deployed 되었다.

Error 02

도커 컨테이너를 만들어주기 위해서

docker run --name run-my-springboot -p 8080:8080 -d my-springboot

명령어를 입력했는데, The container name "/run-my-springboot" is already in use by container ~ 어쩌구 하는 에러 메시지가 또 떴다. 컨테이너 이름이 이미 있다는 뜻인거 같은데, 아마 이전에 계속 시도하면서 명령어를 이것저것 쳐보다가 만들어진 모양이다. 검색해보니
docker ps -a 로 생성된 컨테이너를 확인한 다음 docker rm "컨테이너 아이디"를 입력해 my-springboot라는 이름으로 생성된 이미지를 지워주었다. 그리고 다시 시도하니 성공!

✔️ 출처

profile
re:START

0개의 댓글