티스토리 뷰
도커(Docker) 사용법
도커(Docker) 라이프사이클(Lifecycle)
도커 컨테이너는 하나의 프로세스로 실행되므로 아래 그림과 같은 라이프사이클을 갖는다.
그림을 살펴보면 대략적으로 도커 명령어에 의해서 어떤 동작이 이루어지는지 알 수 있다.
docker images (이미지 확인)
▪도커 엔진에 존재하는 이미지 목록을 확인 가능
$ docker images
만약 이미지가 존재한다면
이런 식으로 이미지 목록이 나오게 된다.
docker pull (이미지 다운)
▪도커 허브에서 이미지를 받아옴
▪centos, ubuntu 등은 바로 받아올 수 있음
▪도커 허브에서 다른 사람들이 올린 이미지를(이미 만들어진) 쉽게 받을 수 있음
$ docker pull centos
이미지 사이즈에 따라 시간이 많이 걸릴 수 있음...
docker create (이미지로 컨테이너 생성)
이미지를 다운로드 했다면, 이미지로 컨테이너를 생성할 수 있다.
▪-i 는 상호 입출력
▪-t 는 tty를 활성화해서 bash 셸을 사용
$ docker create -i -t centos
위의 명령어로 컨테이너 생성시 docker 데몬에서 컨테이너명을 정하게 된다.
만약 이름을 설정하고 싶다면 "--name" 옵션을 추가하여 "컨테이너 이름"을 설정할 수 있다.
$ docker create -i -t --name (내가 설정하려는 컨테이너 이름) (이미지 이름)
$ docker create -i -t --name tommy_centos centos
start를 하기 전 docker ps -a 명령어를 사용한다면 STATUS가 "Created" 상태로 나온다.
docker start (생성된 컨테이너 실행)
docker create로 컨테이너를 생성했다면 시작후 사용 가능하다.
$ docker start tommy_ubuntu
start를 한 뒤 docker ps -a (docker ps도 가능) 명령어를 사용한다면 STATUS가 "Up" 상태로 나온다.
docker attach (컨테이너 접속)
컨테이너가 Up 상태일 경우 attach 명령어를 사용해서 접속이 가능하다.
$ docker attach tommy_ubuntu
컨테이너가 정상적으로 실행되었다면 아래와 같이 쉘이 변경된다.
[root@233506~~~ / ] #
docker run (이미지로 컨테이너 생성 및 실행)
▪docker run 명령어는 docker create + docker start + docker attach를 한번에 실행하는 것과 같음
▪docker run 명령어를 사용하면 이미지를 실행(run) 하여 docker container를 실행
▪centos 이미지가 없을 경우 도커 허브에서 최신이미지를 자동으로 pull
아래 명령어를 사용한다면, centos 공식 이미지를 이용하여 컨테이너를 실행시킨다.
$ docker run -i -t centos
컨테이너가 정상적으로 실행되었다면 아래와 같이 쉘이 변경된다.
[root@233506~~~ / ] #
docker ps (-a) (컨테이너 목록 확인)
▪docker ps 명령어는 정지되지 않은 컨테이너 목록만 출력
▪docker ps -a 명령어는 정지된 컨테이너를 포함한 모든 컨테이너 출력
$ docker ps
$ docker ps -a
ps 명령어를 사용했을 경우(위)에는 Up 상태인 컨테이너만 출력되었고, ps -a 명령어를 사용했을 경우(아래) Exited 상태인 컨테이너도 같이 출력된다.
도커 안에서 exit 하면 status 상태가 exited 가 된다. 이때 up 된 상태 이므로 attach 가 안된다 !
다시 start 시켜주고 attach 해야 들어 갈수 있음을 이해 해야만 한다.
docker rename (컨테이너 이름 변경)
docker create나 run 명령어 사용 시 --name 옵션으로 컨테이너 이름을 설정하지 않았다면 도커 데몬에 의해 랜덤하게 이름이 설정된다.
이런 경우나, 아니면 다른 이름으로 변경하려면 rename 명령어를 사용하면 된다.
$ docker rename (기존 컨테이너 이름) (변경할 컨테이너 이름)
docker stop (컨테이너 중지)
▪컨테이너가 실행중이라면 Host의 자원을 사용하므로 사용하지 않을 때 중지할 수 있음
▪docker rm 과는 다르게 stop을 한 후 다시 start하면 전에 했던 작업을 이어서 할 수 있음
$ docker stop (중지할 컨테이너 이름)
docker rm (컨테이너 삭제)
▪컨테이너 삭제 시 컨테이너를 실행하고 작업했던 모든 내용이 삭제되므로 주의해야 함
▪컨테이너를 삭제하기를 원한다면 rm 명령어를 사용하여 삭제 가능
$ docker rm (삭제할 컨테이너 이름)
단, rm 명령어만 사용한다면 실행중(Up 상태인)인 컨테이너는 삭제할 수 없으므로 -f 옵션이 필요하다.
$ docker rm -f (삭제할 컨테이너 이름)
또는 docker stop으로 중지 시킨 뒤, rm으로 삭제할 수 있다.
$ docker stop (삭제할 컨테이너 이름) \ docker rm (삭제할 컨테이너 이름)
모든 컨테이너 삭제
▪존재하는 모든 컨테이너를 삭제하려할 때 사용할 수 있는 명령어
▪컨테이너 삭제 시 컨테이너를 실행하고 작업했던 모든 내용이 삭제되므로 주의해야 함
$ docker container prune
or
$ docker stop $(docker ps -a -q) \ docker rm $(docker ps -a -q)
docker 명령어 확인
▪도커도 다른 리눅스 패키지와 마찬가지로 --help 명령어를 이용하여 사용법을 확인할 수 있음
▪docker, docker -h docker --help 등의 명령어 입력 시 사용법이 출력
▪docker (명령어) --help, -h를 이용하여 특정 명령어의 사용법, 옵션 등을 확인 가능
'4. Docker 관련' 카테고리의 다른 글
docker Keycloak 설치 해보기 (0) | 2021.04.11 |
---|---|
5. Docker-Compose Install 방법 (보너스 몽고디비까지설치하기) (0) | 2020.04.16 |
3. 도커 push 도커파일 ... 만들기 (0) | 2020.04.10 |
12탄!! 도커 깔끔 삭제하기 그리고... 연습하기 (0) | 2020.03.18 |
4. Docker 설치및 소나큐브 설치 방법 (0) | 2019.09.23 |
- Total
- Today
- Yesterday
- MSA
- 앤시블
- 우분투
- 오라클 홈디렉토리 copy 후 startup 에러
- 버쳐박스
- pod 상태
- 5.4.0.1072
- ORACLE 트러블 슈팅(성능 고도화 원리와 해법!)
- 테라폼
- 오라클 인스턴트클라이언트(InstantClient) 설치하기(HP-UX)
- K8s
- 스토리지 클레스
- 키알리
- 커널
- directory copy 후 startup 에러
- (InstantClient) 설치하기(HP-UX)
- 쿠버네티스
- Oracle
- ubuntu
- 코로나19
- [오라클 튜닝] sql 튜닝
- 트리이스
- 오라클 트러블 슈팅(성능 고도화 원리와 해법!)
- [오라클 튜닝] instance 튜닝2
- startup 에러
- 여러서버 컨트롤
- CVE 취약점 점검
- 설치하기(HP-UX)
- 오라클
- 튜닝
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |