인터넷에 접속할 때 접속자에 대한 최소한의 정보가 공개되는 인터넷 신분증
웹 브라우저는 웹 서버가 실행중인 컴퓨터의 IP주소가 필요하고, 도메인을 건네 줌으로써 해당 웹 서버의 IP주소를 반환 받는데, 그러한 IP주소 응답을 하는 것이 DNS이다.
프로그래밍에서의 사전적의미로는 논리적 접속 장소를 말하는데, 네트워크를 통해 클라이언트와 특정 서버를 연결하는 지점을 의미한다. 대개 프로그램 별로 Port 번호를 갖고 있는 편이며, 별도 port 지정이 없을 경우 웹 서버 HTTP는 기본 port 80을 부여한다.
PORT가 왜 필요한지 궁금할 수 있다. DNS로부터 IP주소만 받게 된다면 위와 같이 서버에서 어떤 프로그램을 위한 연결을 하고싶은건지 알 수가 없다.
위 예시에서 (로컬호스트지만)127.0.0.1이 IP라고 할 때, 두번째 그림과 같이 옆에 :PORT번호를 같이 부여해 줘야 해당 프로그램의 포트번호로 웹 서버가 제대로 연결이 된다.
Docker 사에서 Linux 컨테이너를 자체적으로 개발해 만든 오픈소스 플랫폼이다.
가상화를 통해 windows나 mac 등의 환경에서도 Linux 컨테이너를 사용해 다양한 프로그램을 쓸 수 있도록 도와주는 가상화 환경 도구이다.
굉장히 유용해서 최근 계속해서 많은 기업이 도커를 사용한다고 한다. 단, 가상화로 진행되기 때문에 이로 인한 메모리가 mac, windows 각각 발생한다.
레지스트리(docker hub로 생각해도된다)에서 pull을 해서 원하는 프로그램(image)을 가져온다.
불러온 프로그램(image)을 실행(run)하게 되면 프로그램이 실행중이 상태(Container)가 된다.
docker는 컴퓨터가 켜져있는 동안, docker가 켜져있는 동안 프로그램(또는 서버)은 유지가 된다. 중간에 멈추거나 삭제도 가능하다.
진행완료한 프로그램을 저장하는 방식으로 commit을 진행하고 push를 통해 docker hub에 올린다.