Class‎ > ‎Class reference‎ > ‎

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



















Comments