일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 패키지
- Chef
- sudo
- 루비
- VPN
- VMware
- 드라이버
- docker-compose
- 방화벽체크
- ssh
- docker registry
- golang
- VIM
- RUBY
- QT
- driver
- Openswan
- AWS
- Linux
- 도커
- ssh command
- 우분투
- window size
- DevOps
- docker
- port
- docker container
- ubuntu
- opsworks
- 리눅스
- Today
- Total
구리의 창고
Docker Container 실행하기 본문
개요
Docker Container란, OS 커널 위에 Docker Image로 생성된 독립된 하나의 환경을 말한다. 이렇게 독립된 환경을 만듬으로써, 하나의 OS에서 각 Container는 별도의 OS에서 실행되는 것처럼 돌아가게된다. 아래 이미지는 Container 3개가 실행되고 있는 것을 표현한 것이다.
위 그림에서 Docker Container의 독립된 환경의 의미를 간략히 설명하면, 첫 번째 Container의 Tomcat은 두 번째 Container의 SQL Server와 완전 별도의 실행 환경을 갖는다는 것이다. 만약 첫 번째 Container만 재설치를 하고 싶다고 하더라도, 다른 Container 2개에는 아무런 영향을 끼치지 않는다.
예제
일단, Ubuntu에 Docker 설치하기를 보고 Docker를 설치하도록하자.
$ docker -v
Docker version 17.06.0-ce, build 02c1d87
위에서 설명한대로, Container는 Docker Image를 기반으로 만들어진다. Docker Image를 관리하는 Respository인 DockerHub이 있다. 그 중에 가볍고 테스트용으로 사용하기 좋은 busybox Docker Image를 사용하겠다. 참고로 busybox는 Docker에서 공식적으로 제공하는 라이브러리 중 하나이다.
모든 Docker 명령어는 docker [OPTIONS] COMMAND [arg...] 같은 형식으로 실행된다. Container를 생성하고 실행하기 위해서는 아래 명령어가 필요하다.
$ docker run
"docker run" requires at least 1 argument(s).
See 'docker run --help'.
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Run a command in a new container
실제로 옵션도 정말 많고 다양하지만 단순히 실행해서 아웃풋만 받아보도록 하겠다.
$ docker run --rm busybox ls
Unable to find image 'busybox:latest' locally
latest: Pulling from library/busybox
27144aa8f1b9: Pull complete
Digest: sha256:be3c11fdba7cfe299214e46edc642e09514dbb9bbefcd0d3836c05a1e0cd0642
Status: Downloaded newer image for busybox:latest
bin
dev
etc
home
proc
root
sys
tmp
usr
var
busybox를 이용해서 생성된 Container안에서 ls 명령어를 실행하고, Container를 종료 후 자동으로 삭제(--rm)해주는 명령어다. 굵게 표시된 부분은, 아직 머신에 busybox가 없어 다운 받아오는 부분이다. 두 번 째 실행하면 굵게 표시된 부분이 없어진다.
$ docker run --rm busybox ls
bin
dev
etc
home
proc
root
sys
tmp
usr
var
머신에 있는 이미지 목록을 보려면, 아래와 같이 보면된다.
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest c30178c5239f 3 weeks ago 1.106 MB
'DevOps' 카테고리의 다른 글
docker-compose 사용 (0) | 2017.07.12 |
---|---|
docker-compose 설치 (0) | 2017.07.12 |
Chef resource 실행 순서 with notifies (0) | 2017.07.06 |
Ubuntu에 Docker 설치하기 with Chef (0) | 2017.07.05 |
Ubuntu에 Docker 설치하기 (0) | 2017.07.03 |
Comments