맥이랑 윈도우에는 가상환경이 있다



| : 앞 결과물이 뒤의 인자로 넘어온다
&& : 앞이 실행되어야 다음이 실행된다. 아니면 실행이 안된다
|| : 앞이 실행 되면 뒤의 것은 실행 안된다. 앞이 실행 안되면 뒤에가 실행된다.


이게 최신 옵션이다
예전 옵션 -v
이렇게 최신 옵션을 하면 더 자세히 명시할 수 있다.



폴더 생성


큰따옴표 사용한 이유 : 환경변수($BIND_DIR)가 있어서
작은 따옴표를 사용한다면 ? 문자열로 인식한다.
호스트에서 만든 것을
도커에서 접속할 수 있게 한 것이다.




POSTGRES이다 !!!!






DB가 잘 동작중이다 ~
스크립트 만들 때 필요하다


init sql에 있는 내용을 도커에서 실행하기 위함




echo $? 했는데 127이 나온 이유
앞에 $?을 해서 앞의 오류가 출력되었다.

오타천지 . .

4번 문제
팀원이 폴더에 컨테이너 쓰지 못하는 이유
1.호스트가 읽기 권한만 준 경우
2.접속할 때 :ro로 접속한 경우
진단 3보 확인
: 올바른 경보인지 확인하고, ls -l로 소규와 권한을 확인하고, 컨테이너 사용자를 docker exec name id로 확인한다.
권한은 chmod로 주는거고 이미지 user, 소유일치는 안배워서 모르겠다.

ip주소는 건물
port는 방

호스트포트랑 컨테이너포트의 차이가 뭐징
호스트 포트는 내 컴퓨터(호스트)의 문이고,
컨테이너 포트는 컨테이너 안에서 프로그램이 실제로 듣고 있는 문이다


내 호스트 주소를 전문 용어로 루프백이라고 부르기도 한다.

8080:8000
호스트포트 : 컨테이너포트

컨테이너는 이미지로 만든다


brige를 사용하지 않고 host로 바로 들어가면
직접 들어가는 것이기에 위험할 수 있다.
그러므로 bridge로 들어가야한다.

컨테이너별로 IP가 있다.
컨테이너는 ip로만 서로를 찾을 수 있는데,
ip는 변경이 된다.
그럴 때 사용자 정의 네트워크를 사용해야한다.







호스트일 경우는 포트가 노출되면 위험한데
컨테이너일 경우 노출되어도 괜찮다.

환경변수와 env는 비밀 민감도가 낮다.

로그와 명령 기록에 시크릿을 추가했다 라고 적기만 해도 안되는건지 궁금하다.




문제가 생겼을 때 이 절차로 수행한 것을 문서로 남겨두어야 한다.

실습 시~작

도커 생성

inspect로 확인





도커 이미지 만드는 명령어
docker build -t 이미지명:버전 경로
중간에 8080 포트를 써서 만들었는데,
오라클이랑 충돌나서 호스트 포트를 8081로 만들었다.
가동 안했는데 자동으로 실행된건가??




호스트네임 잘못 입력한 에러

포트번호 잘못 입력한 에러
가 나야하는데 안났다
왜 안났지

찾아보니 network-db가 없었다.
왜 없지?

비밀번호 에러

우리조는 3번을 발표한다.


집중이 안되어서 일어나서 듣느라 ppt 캡쳐와 노트 작성을 못했다.

방명록 앱 실습 강의를 듣다가 post와 get이 나왔다.
patch와 put을 아냐고 하셔서 그건 모른다고 하니 간단하게 설명해주셨다.
patch와 put이 수정하는 건 같은데 개념이 달랐다.
POST : 등록 → INSERT
GET : 조회 → SELECT
PATCH : 수정 → UPDATE
PUT : 수정 → DELETE, INSERT → UPSERT
DELETE : 삭제 → DELETE