일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- RabbitMQ
- JPA
- Producer
- 클린코드
- Security
- 스프링 부트
- g1
- spring boot
- 페이스북
- apache
- java
- oauth2
- tomcat
- 스프링부트
- JWT
- 스프링
- 리팩토링
- 페이징
- Spring
- jvm
- load balancing
- 비동기
- GC
- assertj
- 권한
- clean code
- gdg
- OAuth
- Refactoring
- 시큐리티
Archives
- Today
- Total
허원철의 개발 블로그
Docker - 시작하기 본문
이번 글은 Docker를 시작하는 분들을 위한 간단 요약 글입니다.
Docker?
- Immutable Infrastructure (
OS와 서비스 운영 환경(웹서버, DB 등)을 분리하고, 한 번 설정한 환경은 변경하지 않음 )인 이미지를 만들어 두고 컨테이너라는 곳에 올려 손쉽게 사용할 수 있도록 하는 것입니다.
사전 개념
전가상화 : vmware 같은 게스트 os 자체를 가상화하는 방식
반가상화 : 리눅스의 LXC와 비슷한 docker 자체에서 libcontainer방식으로 가상화하는 방식
이미지 : 컨테이너 실행에 필요한 파일과 설정 값을 등을 포함하고 있는 파일입니다.
컨테이너 : image를 실행한 상태를 의미합니다.
그렇다면 변경된 설정값은..?!
- 컨테이너에 올려 변경된 설장값은 컨테이너에 저장됩니다.
왜 Docker를 사용해야만 하는가?
1) 관리가 편해집니다.
Why ?
- 컨테이너에 올릴 이미지파일만 따로 관리하면 되기 때문입니다.
2) 확장성이 좋습니다.
Why ?
- 이미지는 다른 컨테이너에 재사용이 가능합니다,
3) 테스트하기 편합니다.
Why ?
- Docker만 있으면 어디서든 똑같은 환경을 손쉽게 구성할 수 있습니다.
4) 가볍습니다.
Why ?
- 반가상화 방식으로 호스트 OS와 거의 동일한 환경를 제공해줍니다.
설치하기
[ Window OS ]
1) install Docker for Windows -> stable channel -> msi 다운로드합니다.
2) hyper-v 나 vmware 같은 가상머신을 사전에 설치되어 있어야합니다. 이와 같은 가상머신 설치가 불가능한 경우 DockerToolbox를 설치합니다.
( 서칭 중, hyper-v 를 이용하면 network 환경이나 여러가지 이슈가 있어 DockerToolbox를 이용하는 것이 좋을 것 같습니다. )
추가로, DockerToolbox를 설치하면 따로 msi를 설치할 필요가 없습니다.
3) Docker Terminal를 실행하면 boot2docker.iso를 설치합니다.
4) 설치 후, docker -v 나 docker --version 을 통해 설치 유무와 버전을 확인 할 수 있음.
Dockerfile 이용하기
docker run [image 명]:[tag 명]
ex) docker run ubuntu:16.04
해당 이미지가 없는 경우, docker repository pull(다운로드)해서 가져옵니다.
기본 명령어
docker search [이미지 명]
docker ps : 컨테이너 목록 확인
docker stop [컨테이너 명] : 컨테이너 멈춤
docker rm [컨테이너 명] : 컨테이너 삭제
docker images : 이미지 확인
docker pull [image 명] : 이미지 다운로드
docker rmi [image 명] : 이미지 삭제
docker logs [컨테이너 명] : 컨테이너 로그 확인
docker start [컨테이너 명] : 컨테이너 시작하기
docker exec [컨테이너 명] : 컨테이너의 명령어 실행하기 ※ ssh 권장하지 않음
'server' 카테고리의 다른 글
CI - 젠킨스 빌드하기 (395) | 2017.06.28 |
---|---|
CI - 젠킨스 시작하기 (412) | 2017.06.27 |
ELK Stack 개념 정리 (430) | 2017.02.23 |
Apache - version 2.4 설치하기 (404) | 2017.02.23 |
OpenSSL로 https 사용해 보기 (420) | 2017.02.06 |
Comments