내일배움캠프 42일차 TIL
개발일지 시작의
aws 크레딧 없었으면 울었을듯
개발 업무내용
오늘의 이슈/고민..그리고 해결한 내용
1.mount
- 리눅스는 물리적인 장치 파일 시스템으로 인식되어야 쓸 수 있는데 이런 장치를 액세스하기 위해서는 특정지점에 연결해줘야 함 = 이러한 과정을 마운트
- 마운트 지점에 연결시킨 후 접근에 관한 옵션을 설정하는 것
- docker의 bind mount는 docker 컨테이너에 데이터를 저장하기 위한 방법 중 하나
OpenTutorials. “생활코딩-기초학습자료.” Mount 명령 사용법, https://opentutorials.org/course/528.
nebuk89. “Docker 자습서 - 6부: 바인드 탑재 사용.” Docker 자습서 - 6부: 바인드 탑재 사용 | Microsoft Docs, https://docs.microsoft.com/ko-kr/visualstudio/docker/tutorials/use-bind-mounts.
2.이미지레이어
- docker 이미지는 레이어로 구성되는데 각 계층은 Dockerfile에 있는 명령을 나타내며 마지막 레이어를 제외한 나머지는 읽기 전용임
3.컨테이너레이어
- 새 컨테이너를 만들 때 기본 레이어 위에 새로운 레이어를 추가하는데 이걸 컨테이너 레이어라고 하며 실행중인 컨테이너에 대한 모든 변경 사항은 쓰기가 가능한 컨테이너 계층에 기록됨
- 사용자가 컨테이너 안에서 읽고 쓰는 모든 작업이 컨테이너 레이어에 기록, 이미지 레이어에는 적용되지 않음
- 파드(pod)
- 쿠버네티스에서 생성하고 관리할 수 있는 하나 이상의 컨테이너 그룹
오늘의 에러 & 실수
1.docker로 컨테이너 여러개 쓰려고 compose.yaml 만들고 실행할 때 발생했던 에러
Error response from daemon: Ports are not available: listen tcp 0.0.0.0:8080: bind: address already in use
수업시간에도 나왔었던 에러라 다른 컨테이너에서 포트를 이미 쓰고 있을 거라고 생각하면서 당당하게 docker ps -a로 리스트를 확인했다. 처음에 8080포트를 쓰는 게 있어서 그것만 삭제하면 될 줄 알았는데 아니었다. 그래서 모든 컨테이너를 삭제했지만 여전히 같은 에러가 떴다...
lsof -i 프로토콜:포트번호
나는 8080포트가 다른 곳에서 쓰고 있어서 생긴 오류였기 때문에 도대체 어디서 이걸 쓰고 있는지 확인해보려고 이 명령어를 사용했다. java에서 쓰고 있었다고 나와서 프로세스 종료 명령을 통해 에러를 해결했다. 하지만 아직도 왜 java에서 저 포트를 쓰고 있었는지는 모르겠다...
kill -9 PID (-9는 강제종료)
2.쿠버네티스 노드 설치 시 조인 명령어 실행 후 에러
The connection to the server localhost:8080 was refused - did you specify the right host or port?
강의를 빨리감기 하면서 따라만 했더니 발생한 실수였다. 당연한 에러였다. 노드 설치를 했는데 왜 생긴 노드에서 node를 가져오라는 명령어를 치고 있었는지...ㅎ master 쪽 terminal에서 명령어를 다시 쓰는걸로 해결했다^^... 몰랐는데 인덱스 생성 및 삭제, 노드 추적같은 전체 작업은 마스터 노드에서 해야한다.
To-do List
수업 복습 및 숙제, 키워드 정리
Author And Source
이 문제에 관하여(내일배움캠프 42일차 TIL), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@mindang/내일배움캠프-42일차-TIL저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)