일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- S3
- Mac
- 셀프인테리어
- 슬랙활용
- 예인싱크
- Xcode
- virtualbox
- serial
- 알리
- 머신러닝
- 슬랙사용법
- 슬랙
- ReactNative
- 인테리어
- 장애
- catalina
- 스마트에너지미터
- 싱크대
- 해외직구
- vagrant
- MySQL
- 직구
- Slack
- 알리익스프레스
- M1
- 캐딜락
- CTS
- docker
- PostgreSQL
- Today
- Total
MoreLean
Commands of docker 본문
docker는 콘솔을 기반으로 하기 때문에 명령어에 대해서 알아보도록 하겠다.
일단, 그전에 간단히 앞서 언급한 내용중 다시한번 중요한 사항을 확인하자면,
read-only 파일 시스템인 레이어는 image, 최상위 레이어로 read-write 가 가능한 레이어는 container로 정의했었다.
# 자주 쓰는 명령어 ( 이중 특히 빈도가 높은 명령어는 underline 처리 )
- build : Dockerfile 이라는 이름을 가지는 docker 전용 build 설정 파일로부터 container를 생성할때 쓰는 명령어이다.
아무것도 설정된것이 없는 base 이미지에서 특정 패키지( e.g. mysql, redis etc )을 설치하고, 디렉토리 등을 생성한뒤에 유저를 생성하고 비밀번호를 설정하고 하는 등의 시스템 설정 과정들을 거쳐 특정 디렉토리에 파일을 추가하고 하는 등의 설정 과정과 함께 실행 명령어( 어떤 프로그램이나 데몬을 실행 )하여 container를 생성할 것인지를 설정할 수 있다 .
- commit : container는 앞서 언급한것처럼 read-write가 가능한 레이어이지만, container 레이어에서 수정한 정보는 image로 만들지 않는다면 데이터는 유실되고 만다. 이를 보전하기 위해서는 오직 image로 만드는 수 밖에 없다. ( 뒤에 volume을 설정함으로서도 가능하지만, container를 통해서 설정하는 일반적인 방법으로는 유일하다. ) 이 commit 명령어를 통해 container로부터 image를 생성할 수 있다.
- cp : contianer의 파일시스템으로부터 host( docker를 실행하는 server )로 파일을 복사할때 쓰는 명령어 ( 내부의 로그를 복사해올때와 같은 경우에 사용한다. )
- images : host의 image 목록을 출력한다.
- inspect : 현재 실행중인 container의 정보를 출력한다.
container에 대한 세부 정보를 확인할 때 주로 사용한다. port forward 정보부터 기타 세부 정보까지 확인이 가능하다.
- kill : 현재 실행중인 container를 죽인다.
- logs : 현재 container가 터미널로 로그를 출력하고 있다면, 그 로그를 출력한다.
- ps : container의 목록을 출력한다. ( 기본 설정은 현재 실행중인 container를 출력하며, -a 옵션등을 통해 전체 목록도 확인 가능하다. )
- restart : container 의 경우 stop후 start를 하게 되면 id값이 변경된다. 물론 port forward의 경우 port까지도 재할당 된다. 이때 restart를 하게 되면 id는 변경없이 실행할 수 있다. 하지만, port의 재사용은 되지 않는다.
- rm : container를 삭제한다.
- rmi : image를 삭제한다.
- run : 새로운 container를 실행한다.
- start : 종료된 container를 시작한다.
- stop : 실행중인 container를 종료한다.
# 그외 명령어
- attach : 실행중인 container에 터미널을 붙인다. top명령어를 실행하는 container라면, top 명령의 결과가 현재 터미널에 출력됨. ( logs 와의 차이점은 잘 모르겠음 )
'Programmer > Docker' 카테고리의 다른 글
docker benchmark (0) | 2013.10.13 |
---|---|
Repositories in docker (0) | 2013.08.28 |
Installation of docker (0) | 2013.08.25 |
docker 를 이해하기 위하여 #2 (0) | 2013.08.22 |
docker 를 이해하기 위하여 #1 (0) | 2013.08.22 |