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 설치)