본문 바로가기

개발이야기/Docker

도커 기초, 컨테이너와의 관계 및 명령어

Docker은 기본적으로 리눅스 커널 위에서 돌아간다.



Docker 버젼 확인 방법

$ docker version

* client는 docker-cli의 버젼

* server는 docker-server의 버젼 




Docker 이미지란

* tar파일로 묶어 놓은 파일 시스템


Docker alpine linux이미지 가져오기 & 실행

alpine linux : 최소로 경량화된 리눅스
$ docker image pull alpine
$ docker image ls
$ docker container run alpine ls -l 
* docker run : 내 repository에 alpine이라는 image가 있는지 확인하고, 격리된 container안에서 alpine을 실행시켜라!
* alpine 이미지, 컨테이너로 실행 & ls -l 실행



Docker 내부 container의 bash shell console에서 작업하기

$ docker container run -it alpine /bin/sh



* -it 옵션 : docker interactive, tty 옵션을 사용하여 접근 가능

* 컨테이너 내부의 root 디렉토리로 접근


Docker container간의 관계

$ docker container run alpine

$ docker container run alpine
$ docker container run alpine

* 도커는 여러개 run 하더라도 각각 새로운 컨테이너로 격리되어 실행되게 됨. - 파일 시스템 상으로 완벽히 격리됨.

* 도커 컨테이너는 기본적으로 main process가 1개만 돌도록 되어 있음.

* 만약 공유된 저장소를 쓰려면 docker volume을 사용해야한다.


Docker run vs start 차이

$ docker run IMAGE_ID

$ docker start CONTAINER_ID

$ docker stop CONTAINER_ID

* run : 새로운 컨테이너를 이미지로부터 만듦.

* start | stop : 기존에 실행되었던 컨테이너를 중지시키거나 실행시킴.


Docker 외부에서 컨테이너 안 명령어 실행

$ docker container exec CONTAINER_ID ls

* 해당 CONTAINER_ID의 내부에서 특정 명령어를 날릴 수 있음






d