본문 바로가기

Docker

(5)
Docker - 직접 도커 이미지 만들기 Dockerfile 만들기 도커 파일(Docker file)이란 ? - 도커 이미지를 만들기 위한 설정 파일이며, 컨테이너가 어떻게 행동해야 하는지에 대한 설정들을 정의해 주는 곳입니다. 도커 파일 만드는 순서 (도커 이미지가 필요한 것이 무엇인지를 생각하기) 1. 베이스 이미지를 명시해준다. (파일 스냅샷에 해당) 2. 추가적으로 필요한 파일을 다운 받기 위한 몇 가지 명령어를 명시해준다. (파일 스냅샷에 해당) 3. 컨테이너 시작 시 실행될 명령어를 명시해준다. (시작 시 실행될 명령어에 해당) 도커 이미지의 목표는 "hello 문구" 출력하기 순서 1. 도커 파일을 만들 폴더 하나 만들기 ex) dockerfile-folder 2. 방금 생성한 도커 파일 폴더를 에디터를 이용해서 실행 (Visual..
Docker - Docker 기본적인 명령어 1.ls ex) docker run alpine ls 설명 1. Alpine 이미지를 이용해서 컨테이너를 생성. 2. 생성할 때 Alpine 이미지 안에 들어있던 파일 스냅샷들 (bin, dev, etc 등등..)이 컨테이너 안에 있는 하드 디스크로 다운로드됨 3. 이미지 이름 뒤에 다른 명령어를 더 붙여서 원래 이미지 안에 들어있는 기본 커맨드는 무시가 되고 ls 명령어가 실행됨 하지만 어떻게 Alpine 이미지를 이용해 ls 명령어를 실행 가능? 1. Alpine 이미지 파일 스냅샷 안에 이미 ls를 사용 가능하게 하는 파일이 있음. hello-world 이미지로는 ls 명령어 사용 불가능 1. docker run hello-world ls 하면 아래와 같은 오류가 뜸. 설명을 보면 excutable..
Docker - 이미지로 컨테이너 만들기 이미지는 응용 프로그램을 실행하는데 필요한 모든 것을 포함하고 있습니다. 그러면 그 필요한 것이 무엇일까요? 1. 컨테이너가 시작될 때 실행되는 명령어 ex) run kakaotalk 2. 파일 스냅숏 ex) 컨테이너에서 카카오톡을 실행하고 싶다면 카카오톡 파일 (카카오톡을 실행하는데 필요한 파일) 스냅숏 * 파일 스냅숏은 디렉터리나 파일을 카피한 것 이미지로 컨테이너 만드는 순서 1. Docker 클라이언트에 docker run 입력해줍니다. 2. 도커 이미지에 있는 파일 스냅샷을 컨테이너 하드 디스크에 옮겨 줍니다. 3. 이미지에서 가지고 있는 명령어 (컨테이너가 실행될때 사용될 명령어를)를 이용해서 카카오톡을 실행시켜줍니다.
Docker - Docker 의 흐름 및 Vm,Docker 비교 Docker를 사용할때 1. 먼저 도커 CLI에 커맨드를 입력한다. 2. 그러면 도커 서버 (도커 Daemon)이 그 커맨드를 받아서 그것에 따라 이미지를 생성하든 컨테이너를 실행하든 모든 작업을 하게 된다. 실제로 CLI에서 커맨드를 입력해보기 1. docker run hello-world 설명 1. 도커 클라이언트에 다가 커맨드를 입력하니 클라이언트에서 도커 서버로 요청을 보낸다. 2. 서버에서 hello-world라는 이미지가 이미 로컬에 cache가 되어 있는지 확인 3. 현재는 없기에 Unable to find image ~라는 문구가 2번째 줄에 표시 4. 그러면 Docker Hub이라는 이미지가 저장되어 있는 곳에 가서 그 이미지를 가져오고 로컬에 Cache로 보관한다. 5. 그 후 이제는 ..
Docker - Docker란? Docker란 컨테이너를 사용하여 응용프로그램을 더 쉽게 만들고 배포하고 실행할 수 있도록 설계된 도구 이며 컨테이너 기 반의 오픈소스 가상화 플랫폼이며 생태계입니다. 도커는 컨테이너 기반의 오픈소스 가상화 플랫폼입니다. 컨테이너라 하면 배에 실는 네모난 화물 수송용 박스를 생각할 수 있는데 각각의 컨테이너 안에는 옷, 신발, 전자제품, 술, 과일등 다양한 화물을 넣을 수 있고 규격화되어 컨테이너선이나 트레일러등 다양한 운송수단으로 쉽게 옮길 수 있습니다. 서버에서 이야기하는 컨테이너도 이와 비슷한데 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해줍니다. 백엔드 프로그램, 데이터베이스 서버, 메시지 큐등 어떤 프로그램도 컨테이너로 추상..