Docker

1. docker toolset 을 다운로드 하세요.

https://www.docker.com/products/docker-toolbox

Docker Toolbox는 다음의 기능들이 포함된다.

  • Docker Machine

  • Docker Engine

  • Kitematic - Docker GUI

  • Docker command-line 환경

  • Oracle VM VirtualBox

2. docker toolbox를 설치하세요. (http://pseg.or.kr/pseg/infoinstall/6076 참조)

3. 메뉴에서 Kitematic을 실행하세요 (에러시 virtualBox 선택, HUB설정은 skip)

- 로컬 컴퓨터에 생성된 컨테이너들을 볼 수 있습니다.

- new를 설택하고, hello world를 선택하여 새로운 컨테이너를 생성하세요 (해당 이미지를 다운로드되고 현재 상태가 running으로 바뀜)

4. 볼륨을 enable하고 해당 디렉토리 (/website_files)에 들어가 index.html을 웹 브라우저에서 한번 실행해 봅니다.

C:\Users\user\Documents\Kitematic\hello-world-nginx

5. 우측 상단에서 "settings" 메뉴를 선택하여 봅니다.

- IP 및 port 설정에 따라 웹브라우저를 통해 연결해 봅니다. (예, http://192.168.99.100:32770/)

- Kitematic의 web preview와 동일한 화면이 보이나요?

- Kitematic에서 hello-world의 컨테이너를 stop 시켜 봅니다.

- 다시 웹브라우저를 이용하여 상기 IP 주소를 통해 접속해 봅니다.

- 이전 웹페이지가 보이나요?

6. 우분투 이미지를 만들어 봅니다.

- Docker Quick Start terminal을 실행해 보세요.

- 현재 위치가 어디인가요? (C:\Users\user\)

- Docker 환경 설정 파일 (Dockerfile) 작성

    • FROM 우분투 이미지 파일 (이미지 파일 이름 확인 필요, docker images)

    • RUN 추가 설정 (툴 설치)

    • EXPOSE 포트 (클라이언트 연결을 위한)

    • VOLUME 디렉토리

    • ENTRYPOINT 수행 시작 점

예시)

FROM ubuntu

RUN apt-get update && apt-get install -y gcc

EXPOSE 8000

VOLUME ["/workspace"]

ENTRYPOINT ["/bin/bash"]

- 우분투 이미지를 이용한 mydevenv 이미지 생성

예) docker build --rm -t mydevenv . (docker build -t "tag name" . Dockerfile 설정 파일과 같은 폴더)

- 파일을 이용한 이미지 build (Docker build [option] [path]); 파일 위치가 원격일때 다운로드 시간이 필요

docker build -t mydevenv https://github.com/xxxx/xxx.git

- 이미지 제작 후 확인

docker images (로컬 이미지 리스트)

7. 이미지를 이용한 컨테이너 생성 (docker run)

예) docker run -it -p 8000:8000 mydevenv bash

- Kitematic으로 이미지 확인 및 삭제;

1) 컨테이너의 'new' 버튼을 눌러서 새로운 컨테이너를 생성

2) my Image에서 원하는 이미지를 선택하고 컨테이너 creation 생성

3) 공유 폴더(volume)을 경로 설정 후 enable한다.

8. Docker 컨테이너 상태 확인 및 삭제

- docker ps 와 docker ps -a 차이 비교

- docker 컨테이너 상태는 무엇이 있나요?

- docker 컨테이너 삭제

예) docker rm 컨테이너이름

특정 상태 컨테이너 삭제 예; docker rm $(docker ps -q -f status=exited)

Kitematic 에서 컨테이너 상태 확인 및 삭제 방법; GUI 하단 delete 버튼으로 삭제

9. Docker 이미지 확인 및 삭제

- 로컬 컴퓨터의 이미지 리스트 확인

예) docker images

- 이미지 삭제 (이미지 삭제 전에 컨테이너 삭제가 선행되어야함)

docker rmi 이미지이름

- Kitematic에서의 my image 삭제 방법

삭제하려는 이미지를 선택 후, delete tag를 통해 이미지 삭제

10. hello world 소스 만들고 컴파일하기

- 윈도우 에디터를 이용하여 sample.c 만들고 공유 폴더에 넣기

- Kitematic에서 'exec' 버튼을 눌러 컨테이너 쉘을 연다. (파워쉘의 경우, bin/bash로 바꾼다)

- gcc를 이용하여 컴파일 한다.

- 공유폴더에 a.out이 생성된 것을 확인한다.

11. X-window 사용을 위해 VNC4Server 또는 vncserver 설치하세요

- apt-get install vnc4server 후, password 설정

- 서버 시작 > vnc4server -geometry 1280x1920 해상도

- MobaXterm을 사용하여 vnc client로 접속해보자.

12. 우분투에서 애플리케이션 설치하기 (예, wireshark 설치)