192.168.0.37 - 실제 IP
포트는 같은 프로토콜내에서 중복번호 사용이 불가능하다.
A로 8081로 요청해서 사용하다가 DB를 사용하려고했을 때 이 도커 컨테이너에 올라와있는 #8000번을 사용하고 싶다 + 경우에 따라서 도커 컨테이너 밖에있는 DB인 #1521도 사용하고싶다면
8081에 서비스 되고있던걸 A입장에서 같이 도커 컨테이너에 서비스되고있는 #1521인 #8000을 사용할 수 있을까?
-> 없다. 각각 별개의 서비스이고, 가상화된 OS이기 때문에 회색바탕인 가상 도커 컨테이너이기 떄문에 이 안에 서비스되는 어플리케이션은 각각의 다른 서비스이기 떄문에 불가능하다.
jdbc:oracle:thin:@1720.0.2:8000:xe:1521
만약 172.0... 이런식으로 사용안하고 a / ca / cu / o1 / o2 등 컨테이너 이름을 붙여 사용한다고 하면 requestTemplate.getForObject("http://ca:8082")
처럼 사용가능하다.
즉, A가 o1,o2에게 접근할 때 IP대신 이름으로 사용가능
docker build
: 이미지 생성docker build 어떤프로젝트에대한 이미지인지 이름으로 버전관리
docker build -t catalog:one .
docker images
로 만들어진 이미지 확인docker network create testnetwork
docker run -d --name catalog1 --network testnetwork -p9001:8081 catalog:one
4,5,6 번이 제대로 되기 위해서는 도커파일이 필요하고, 프로젝트 경로에 넣어주면 된다.
ARG 명령어로 변수 만듦
COPY 복제본
명령어)
이미지 생성
이미지 제거
프로세스 생성
프로세스 제거
프로세스 시작
프로세스 종료
네트워크 생성
네트워크에서 컨테이너 프로세스 넣기
네트워크에서 컨테이너 프로세스 삭제