목록dockerfile (2)
개발 무지렁이

𐂂 이미지에 변경사항이 생기면 이를 반영하기 위해, 이미지를 다시 빌드해야한다. ⚠️ 컨테이너를 다시 시작하더라도 변경사항은 반영되지 않는다.(이미지를 다시 빌드해야 한다.) 이미지는 당시의 소스코드를 정확히 복사해서 스냅샷을 만든 것이다. 따라서 그 이후의 소스코드 변경사항은, 이미지의 소스코드에 포함되지 않는다. 즉, 이미지는 기본적으로 잠겨있고, 이미지의 모든 것이 읽기 전용이다. (⚠️ 이미지는 컨테이너의 블루프린트이자, 결국 닫힌 템플릿이다) 𐁍 이미지는 레이어(Layer) 기반 아키텍처 구조를 가진다. Dockerfile에 지정한 모든 명령은 레이어를 나타낸다. ⚠️ 최종명령 이전의 모든 명령은 이미 이미지의 일부이자 별도의 레이어이다. ⚠️ 컨테이너는 이미지 위에 추가된 얇은 레이어일 뿐이다..

𐂂 도커허브(Docker Hub) docker run [이미지NAME] : 이미지의 실행 인스턴스(= 컨테이너)를 만든다. 도커허브에서 이미 존재하는 이미지 (🏅 Docker Official Image)를 사용할 수 있다. 즉, 해당 이미지가 내 로컬에 없으면, 도커허브에서 자동으로 이미지를 가져온다. (이미지는 컨테이너에 필요한 모든 논리와 코드, 환경을 보관하고 있다.) 그렇게 가져와서 실제로 실행중인 이미지 인스턴스를 '컨테이너'라 부르는데, 컨테이너는 주변환경과 격리되어 있고, 격리*되어 실행된다. ⚠️ 컨테이너 내부에서 실행 중인 인터렉티브 쉘이 있다고 해서, 이 쉘이 사용자에게 노출된다는 의미가 아니다.(격리되어 있기 때문에) (ex. 노드에 의해 노출된 인터렉티브 쉘은 컨테이너에 의해 자동으..