- NEW초롱이의 하루
- kisa
- 길은 가면, 뒤에 있다
- C언어 예술가
- Zer0 day - Zer0 day
- Information Security
- Secure-EDU
- 앙큼한유채's 일상 Story
- Library of Ezbeat (잠정 폐쇄)
- The Factory
- 안드
- 모후모후의 커뮤니티
- 공학도의 잡다한 시선
- 안드2
- IT속에 코코아
- IP주소검색(whois)
- IP주소검색(좌표포함)
- 소프트웨어 경력 관리
- 해저 케이블 지도
- MAC주소검색
- IANA
- 포트번호검색
- 자신의IP확인
- 웹페이퍼캡처
- 나의패스워드보안등급
- 웹 취약점 분석
- IT용어정리
- GitHub
- 라이브러리 모음
- 웹마당넷
- 시스템콜참고
- BCD 변환
- 보안뉴스
- 코딩도장(C, Python)
- 백준알고리즘
- 코딩테스트 연습
- 웹 사이트 테스트
- 스크립트꾸미기
- ctf대회목록
- 전자신문
- hash 크랙
- CVE
- 도메인등록
- N클라우드
- BugBountyList
- 칼리공식사이트
- CR4FTING BOX
- 아스키코드 변환
- 웹 사이트 통계 및 평가
- PDF변환
- AWS 및 클라우드 정보
- 가상화 및 서버관련
- 티오리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 네트워크
- 쉘 스크립트 if문
- nginx
- API
- Python
- Linux
- 쉘 스크립트 기초
- System
- docker
- Shell script
- LEVIATHAN
- GUI
- 쉘 스크립트
- JSP
- Tkinter
- 그라파나
- 안드로이드
- centos docker
- 라즈베리파이
- RaspberryPi
- 자바
- 메소드
- GPIO
- Android
- synology
- Java
- 리눅스
- 클라우드
- 프로젝트
- ACL
- Today
- Total
IT창고
docker 사용법1 본문
docker 사용법 및 활용에 대해 알아보겠습니다.
docker는 리눅스의 응용 프로그램들을 소프트웨어 컨테이너 안에 배치시켜 작동하는 오픈 소스로 Vmware, VirtualBox와 다른 점은 docker는 가상머신과는 다르게 하드웨어 자원을 가져오지 않고 프로세스 처럼 리눅스에서 동작합니다. 또한 docker는 리눅스 외에 윈도우에서 동작하는 docker 또한 있습니다.
윈도우 Docker는 아래의 링크를 참고합니다.
https://www.docker.com/products/docker-desktop
docker의 작동구조는 여기 링크1 , 링크2 를 참고 합니다.
테스트 환경은 VMware CentOS 7 입니다.
docker는 실행하기 위해서 커널 버전 3.10.x 이상 ubuntu는 14.04 이상을 사용하길 권장합니다.
CentOS 7에서의 docker설치는 yum으로 가능합니다. 레드햇 저장소에 7버전 부터는 따로 외부저장소에서 가져올 필요가 없습니다.
ex) yum -y install docker
docker가 동작하는지 확인해봅니다. 동작한다면 docker 사용법을 알아보겠습니다.
docker --help 명령어를 입력해보면 docker의 많은 옵션들을 확인해볼수있습니다. 그중에서 주로 사용하는 옵션들을 알아보겠습니다.
pull |
Repo 혹은 Registry에서 이미지를 가져옵니다. |
run |
새로운 컨테이너에서 명령을 실행합니다. |
ps |
컨테이너 목록을 확인합니다. |
attach |
실행중인 컨테이너에 연결합니다. |
대표적으로 사용될 옵션 4개가 있는데 하나씩 알아보겠습니다.
pull 옵션을 알아보겠습니다.
먼저 자신이 사용할 이미지를 선택합니다. 어떤 종류가 있는지 확인해보겠습니다.
search 옵션으로 어떤 이미지를 받을수있는지 확인이 가능합니다. docker hub에 올라와 있는 이미지로 테스트로 Ubuntu이미지를 확인해보았습니다.
위와 같이 pull 옵션뒤에 자신이 사용할 이미지를 search에서 확인한 이미지를 넣고 : 뒤에 태그는 버전을 선택합니다.
latest는 가장 최신버전을 의미하며 만약 docker pull ubuntu 명령어로 뒤에 태그를 붙이지 않을 경우 해당 이미지의 최신 버전을 받아옵니다. 자신이 받은 이미지는 docker images명령어로 확인해 볼 수 있습니다.
run옵션을 알아보겠습니다.
docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
run 옵션으로 사용되는 형식입니다. docker run 후에 run의 옵션을 사용하고 이미지를 선정한 후 만약 원하는 버전이 있다면 :TAG에 버전과 함께 입력 후 실행할 명령어를 입력하여 사용합니다.
docker run의 옵션 몇가지를 알아보겠습니다.
-i |
연결이 종료되어도 컨테이너 상태를 유지합니다. |
-t |
가상 tty를 할당합니다. |
-d |
백드라운드에서 컨테이너를 실행하고 컨테이너 ID를 인쇄합니다. |
-p |
호스트와 컨테이너의 포트를 포워딩 합니다. |
-name |
컨테이너의 이름을 지정합니다. (설정이 없을 시 무작위 이름으로 지정) |
-v | 호스트와 컨테이너의 디렉토리를 마운트 합니다. |
글로 보면 좀 까다로운데 직접 눈으로 보면서 진행하겠습니다.
위의 사진에서 사용한 명령어를 확인해보겠습니다. docker run -i -t --name gskubuntu ubuntu /bin/bash
-i와 -t 옵션을 사용한 후에 -name옵션으로 실행할 컨테이너의 이름을 지정했습니다. 후에 이미지를 선택하고 마지막에 사용될 명령어 /bin/bash로 쉘을 띄워주는 명령어를 실행하여 Ubuntu의 쉘을 올려봤습니다. 컨테이너가 우분투인걸 위의 사진에서 확인할수있습니다.
ps 명령어에 대해 알아보겠습니다.
ps명령어는 리눅스에서 흔하게 쓰이는 프로세스 확인 명령어입니다. docker 또한 마찬가지로 docker 컨테이너의 상태를 확인할수있습니다.
docker ps의 옵션 몇가지를 알아보겠습니다.
-a |
모든 컨테이너를 표시합니다. |
-q |
숫자 ID만 표시합니다. |
-s |
총 파일 크기를 표시합니다. |
docker ps 명령어를 사용해보았습니다. -a옵션을 사용하지 않으면 현재 실행중인 컨테이너만 표시됩니다.
마지막으로 attach옵션에 대해 알아보겠습니다.
attach 명령어는 run명령어로 만들어놓은 이미지에 다시 접속하는 명령어 입니다.
아까 만들어둔 Ubuntu 이미지에 다시 접속하려 합니다. 접속 시에 컨테이너가 중지되어있다고 나와있는데 start옵션으로 먼저 컨테이너를 실행시켜주어야만 합니다. 컨테이너의 이름은 -name옵션으로 지정한 이름이여도 되며 docker ps -a에서 확인한 컨테이너 ID 8cbe81d07b44로 지정해도 상관없습니다. attach로 다시 Ubuntu 컨테이너에 접속된걸 확인할수있습니다.
다음 포스팅 이어서 계속
'서버운영 > Virtualization' 카테고리의 다른 글
Docker 설치 (CentOS) (0) | 2021.01.28 |
---|---|
쿠버네티스(kubernetes) 설치하기 (CentOS 7) (2) | 2019.08.08 |
VMware ESXi 설치 및 활용 (0) | 2019.05.06 |
OpenStack 설치 (0) | 2019.02.24 |
docker 사용법2 및 활용 (0) | 2019.02.17 |