티스토리 뷰
-
도커를 사용하면 개발환경 설치하는 것이 훨씬 쉬워진단 말을 듣고 계속 공부해야겠다고는 생각하고 있었다. 하지만 아무것도 모르는 상태에서 책을 보고 있으니 막막한 상태였었는데, 마침 양재동코드랩에서 도커 수업이 있어 들을 수 있었고 이제 약간이나마 알게 되었으니 정리해보려고 한다.
Docker란?
-
컨테이너 가상화 플랫폼
호스트 가상화: 호스트 OS 위에 게스트OS를 구동하는 방식. Virtual Box가 해당 사항 사용
하이퍼바이저 가상화: 하드웨어 위에 가상화 전문 소프트웨어인 하이퍼바이저를 설치하고 그 위에 가상환경 구동. Hyper-V 가 해당 기술 사용
-
도커의 경우에는 호스트OS 상에서 구역을 나눠 애플리케이션 동작을 위한 라이브러리 등을 컨테이너(Package software into standardized Units for development, shipment and deployment) 내에 집어넣고 개별 서버처럼 사용하는 컨테이너 가상화를 사용(OS를 가상화하지 않고 직접 호스트 os의 자원을 사용). 별도의 os 설치 안함 -> 이미지가 작음
-
기존 기술에 비해 오버헤드가 적다!
*이미지와 컨테이너
- 이미지 : 서버구성에 필요한 파일들을 묶어 놓은 것, 배포의 단위
- 컨테이너는 이미지를 실행한 형태
-> 프로그램과 프로세스의 관계로 이해하면 됨
Docker 설치하기
-
각 운영체제에 맞게 도커를 설치한다. (링크 : https://www.docker.com/products/docker-desktop). 설치가 끝나고 나면 터미널상에서 ‘docker --version’을 쳐보자. 이 때 Docker version 19.03.2, build 6a30dfc 식으로 뜨면 도커 설치가 된 것이다.
-
도커 허브(링크 : https://hub.docker.com/)에 가입한다. 도커 허브에서 필요한 이미지들을 검색하고 다운받을 수 있다.
Docker 명령어
-
항상 root 권한으로 실행
-
docker 명령어에 옵션을 조합하여 실행: docker + (command) 의 형식
- Run : 컨테이너 생성
- Build : 이미지 빌딩
- Pull : 이미지 다운
Docker CLI
docker ps
-
실행중인 도커의 종류와 상태 확인 가능
-
멈춘 도커 컨테이너도 확인하고 싶다면 docker ps -a 라고 치면 됨
docker exec -it <컨테이너명> <작업>
-
docker exec : 특정 명령을 실행해라. -it는 인터렉티브하게 실행
-
ex) docker exec -it <컨테이너명> /bin/bash
docker run <option>
-
이미지를 컨테이너로 만들고 실행하기
-
ex) docker run -i -t --name <이름> -d(dev mod) <이미지명> *여기서 이름 안 정해주면 도커가 지멋대로 이상한 이름을 지어주므로 엔간하면 알아서 지어주는 것이 좋다
docker logs -ft <container>
-
-ft 옵션을 주면 실행이후에 발생하는 로그도 계속 볼 수 있음. 안주면 현재시점까지의 로그만 보여줌
이 외의 주요 명령어
-
docker attach
-
docker build -t <username>/<image_name>:<TAG> ./
-
docker commit <container> <username>/<image_name>:<TAG>
.dockerignore
-
도커파일 작성시 무시해야하는 파일의 형식 지정
-
Context의 root dir에 위치
-
이미지를 크게 만들거나 보안으로 인해 넣으면 안되는 부분들...
docker run -it --rm [node, python, …]
-해당 이미지가 없으면 다운받아서 실행하고 종료시 바로 삭제 -> 랭귀지 공부에 유용
'Programming > Tools' 카테고리의 다른 글
PostgreSQL로 만들어진 데이터베이스에서 ERD 뽑기 (0) | 2020.10.15 |
---|---|
Git commit 수정하기 (0) | 2020.09.22 |
Jupyter Notebook 에 환경 추가하기 (0) | 2020.04.01 |
버전관리 : Git & Github 사용하기 (0) | 2018.07.14 |
- Total
- Today
- Yesterday
- 길벗출판사
- django
- 나는리뷰어다
- SRE를위한시스템설계와구축
- Docker
- 한빛미디어
- 파고다후기
- udemy
- BookDiscussion
- 동남아
- askcompany
- 파고다갓생후기챌린지
- 다시미분적분
- 해외여행
- 머신러닝파워드애플리케이션
- 그래프QL인액션
- Singapore
- 싱가폴여행
- 아토믹코틀린
- 한빛출판사
- 싱가포르
- SQL기초구문
- 혼자공부하는얄팍한코딩지식
- 나는리뷰어다2022
- Python
- 개발자리뷰어
- 리액트와함께장고시작하기
- 파고다강남후기
- 유데미강의
- 싱가폴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |