Dockerfile과 Docker Compose는 모두 Docker 생태계의 일부이며 서버 구동과 관련이 있지만, 그 역할과 목적에는 중요한 차이점이 있습니다.Dockerfile정의Dockerfile은 Docker Image를 생성하기 위한 레시피 혹은 설계도 같은 것입니다. 이 파일에는 컨테이너가 어떻게 작동해야 하는지에 대한 지시사항이 담겨 있습니다. 역할Dockerfile은 운영체제, 실행할 코드, 필요한 라이브러리 및 환경 변수 설정 등을 포함하여 특정 애플리케이션을 실행하는 데 필요한 모든 것을 정의합니다. 사용 예시예를 들어 Python 애플리케이션을 Docker 컨테이너에서 실행하기 위해 필요한 Python 런타임, 코드 복사, 필요한 패키지 설치 등을 Dockerfile에 명시합니다.FRO..
Docker에 Linux Container를 올린 후, SSH 접속 프로그램(Putty)을 통해 접속하는 방법을 알아보도록 하겠습니다.리눅스 관련 이미지 받기우선 Docker Hub에서 리눅스 OS와 관련된 이미지(CentOS / Ubuntu)를 다운 받아야 합니다. 저는 Ubuntu 이미지를 다운 받아 실행하였습니다.# 명령어를 통해 ubuntu와 관련된 이미지들을 확인합니다.docker search ubuntu 이 중, STARS가 가장 많고 OFFICIAL 항목이 [OK]인 이미지는 공식적인 이미지이며, 신뢰성 있는 이미지입니다.그럼 다음과 같은 명령어를 통해 최상단의 ubuntu 이미지를 다운 받습니다.# 'ubuntu' 이름을 가진 이미지를 다운받습니다.docker pull ubuntu 그럼 이..
프로젝트를 진행하다 보면 여러 개의 Container 올리고 난 후 이들 간, Container IP를 통해 연결하고 통신을 해야 하는 경우가 있습니다. 하지만, Container 특성 상 재기동 하게 되면 Container에 부여된 IP가 계속 변동되기 때문에 하드 코딩으로 IP를 지정하기 어렵습니다.따라서, Container의 IP가 변동되지 않도록 컨테이너의 정적 IP를 설정 해주어야 합니다.고정 IP 지정법1. Gateway와 Subnet을 지정docker network create --gateway 172.19.0.1 --subnet 172.19.0.0/21 tcnet 2. 자동 지정docker network create --driver bridge tcnet생성한 Network 확인하기dock..
컨테이너의 데이터 저장 방식Container의 데이터는 휘발성입니다. 즉, Contianer가 삭제되면 그 안의 데이터도 사라집니다. Database를 컨테이너 내부에 저장하면 컨테이너가 삭제되거나 재시작 될 때 손실됩니다.데이터 영속성을 위한 방법휘발성의 데이터들이 사라지지 않게 하기 위해 사용하는 방법에는 2가지가 있습니다. 1. Docker Volume 사용하기Docker Volume을 사용하면 데이터가 Container의 생명 주기와 상관없이 저장됩니다. 따라서 Container를 실행할 때 Volume을 마운트하여 데이터베이스의 데이터를 영속적으로 저장할 수 있습니다.단, 해당 데이터는 Local 환경에서만 저장되기 때문에 다른 환경과는 공유가 어렵습니다.docker run -d --name..
우선 Docker를 이해하기 위해선 컨테이너(=Container)에 대해 알아야합니다.컨테이너(=Container)소프트웨어는 OS와 Library마다 의존성을 갖고 있습니다. 따라서, 한 컴퓨터에서 성격이 다른 (OS, Library가 다른) 소프트웨어를 한번에 실행할 때 어려움을 가질 수 있고 관련된 구성을 관리하기 어렵습니다. 이러한 문제점을 해결해주는 기술이 바로 컨테이너입니다. 컨테이너는 Application을 실행하는 데 필요한 모든 구성 요소를 하나의 런타임 환경으로 묶는데 사용하는 기술입니다. 또한, 다른 실행 환경과의 간섭을 막고 실행의 독립성을 확보해주는 운영체계 수준의 격리 기술을 이야기합니다. 가상 머신(VM)과 컨테이너의 차이Virtual Machine은 Host OS 위에 가상..
- Total
- Today
- Yesterday