본문 바로가기

카테고리 없음

[Docker] 누구보다 쉽게 도커 시작해보기( 꼭 필요한 도커 명령어 )




도커란 무엇일까요?

요즘 인터넷에 도커만 검색하면 수많은 정보가 쏟아지니 따로 도커가 무엇인지는 설명하지 않겠습니다.

도커를 시작했을때 꼭! 필요한 명령어만 정리하였습니다.

정리한 이유는 기록용이죠




# 도커허브에서 이미지 검색
docker search 검색어

* docker를 처음설치하면 기본 저장소는 도커허브를 보고있습니다. 검색을 하게되면 도커허브에 있는 이미지들이 검색됩니다.

* OFFICIAL 이 [OK] 인 이미지는 도커에서 공식적으로 제공하는 이미지이므로 믿고 사용하실 수 있습니다.

* OFFICIAL 은 도커빌드시 베이스 이미지로 많이 사용됩니다.




# 도커 이미지 다운로드
docker pull ubuntu:14.04

* 이미지이름:태그  입니다. 대게 TAG는 버전명이 들어갑니다.  ubuntu:14.04 는 우분투 14.04버전 이미지를 받는다는 뜻입니다.




# 다운받은 이미지 리스트
docker images

* 다운받은 이미지를 위처럼 볼 수 있습니다.




# 도커 실행후 바로 접속( -i 는 포그라운드에서 실행하기 때문에 나오면 컨테이너가 종료됨 )
docker run -it --name 컨테이터이름 이미지이름 /bin/bash

* docker run 은 다운받은 이미지를 바로 컨테이너로 생성하고 실행함을 뜻합니다.

* /bin/bash 명령어를 주면 실행과 동시에 해당 컨테이너의 콘솔화면으로 진입됩니다.

* exit 나 CTRL+C 로 컨테이너에서 나올 수 있으며 이때는 컨테이너가 자동으로 종료됩니다.

* 종료하기 싫으면  CTRL + P  를 먼저 누른뒤  CTRL + Q 를 누를경우 컨테이너가 종료되지 않고 유지됩니다.

* -p 옵션을 주면 포트포워딩이 가능합니다.  -p 8080:8080

* -i 대신 -d 를 주면 백그라운드에서 실행합니다.



# 실행중인 컨테이너
docker ps

* 현재 실행중인 컨테이너만 보여줍니다.  STATUS 에 실행한지 얼마나 지났는지가 표시됩니다.




# 생성된 컨테이너
docker ps -a
* 생성된 컨테이너를 모두 보여줍니다.


# 도커 실행
docker start/stop/restart 컨테이너명


# 생성된 컨테이너 접속
docker attach 컨테이너명
- exit / Ctrl+D 하면 컨테이너접속을 끊으면서 컨테이너 정지
- Ctrl+P 후 Ctrl+Q 하면 계속 실행


# exec 명령으로 외부에서 컨테이너 안의 명령 실행하기
docker exec 컨테이너명 명령어


# 컨테이너 삭제
docker rm 컨테이너명:태그


# 이미지 삭제
docker rmi 이미지명:태그
* 지우려는 이미지로 생성된 컨테이너가 있다면 컨테이너를 먼저 삭제해주어야 합니다.
* 그렇지 않을경우 이미지는 삭제할 수 없습니다.


# 컨테이너의 변경사항으로 이미지 만들기
docker diff 컨테이너 > 변경사항보기
docker commit 컨테이너명 이미지이름:태그
docker commit -a "YongBeom Lee <aaa@aaaa.com>" -m "커밋메시지" 컨테이너명 커밋할이미지명:버전(태그)


# 도커허브 로그인
docker login --username=이름 --email=이메일

* Login Succeeded 가 나오면 도커허브에 로그인이 되었고,

  이제 도커허브의 개인 프로젝트에서 이미지를 불러오고 올릴 수 있습니다



# Dockerfile을 빌드
docker build -t 이미지:버전(태그) .
* 뒤에 . 도 써주셔야 합니다


# 도커 실행 확인( 확인하고 삭제 )
docker run --rm 이미지:버전(태그)


# 이미지 빌드 및 푸쉬
docker build -t 이미지:버전(태그) .
docker push 이미지:버전(태그)


# 올린걸 받아서 빌드테스트하고 지움
docker pull 이미지:v0.1
docker rmi 이미지:v0.1
docker run --rm이미지:v0.1


# 도커 컨테이터에서 파일 꺼내오기
docker cp 컨테이너이름:꺼내올파일경루 ./저장할파일경로


# 이미지와 컨테이너 세부정보 조회

docker inspect 이미지명:태그

* 도커 이미지에 대한 상세정보를 확인하실 수 있습니다.



# Dockerfile 작성해보기

* Dockerfile 은 다양한 애플리케이션에 대한 내용이 github에 공개되어있습니다

https://github.com/dockerfile 여기에서 확인하실 수 있습니다.



이정도만 알아도 도커로 이미지를 만들고 커밋하고 도커허브에 올릴 수 있습니다.

차후 mesos를 이용한 도커 자동배포에 대해 글을 써보려 합니다.


감사합니다.