도커 엔진 시작
sudo systemctl start docker
도커 엔진 종료
sudo systemctl stop docker
부팅 시 자동 실행 설정
sudo systemctl enable docker
컨테이너 사용의 기본은 도커 명령어다. 명령 프롬프트 및 터미널 화면에서 프롬프트 뒤에 다음 명령어를 입력한다.
컨테이너를 다루는 모든 명령은 'docker' 명령어로 시작한다.
docker ~
docker 명령어 뒤에 오는 [ 무엇을 어떻게 ]에 해당하는 부분을 커맨드라고한다.
커맨드는 다시 상위 커맨드, 하위 커맨드로 구성된다.
docker 명령 뒤로 [ 무엇을 ], [ 어떻게 ], [ 대상 ]의 순으로 지정하면 된다.
docker [ 커맨드 ] [ 대상 ]
docker [ [container] [run] ] [ ksu ]
docker image pull ksu ##이미지 내려받기 (pull)
docker container start ksu ## 컨테이너 시작 (start)
명령어의 기본적인 형태는 docker [ 커맨드 ][ 대상 ] 이지만 커맨드에는 앞서 설명한 대상 외에도 '옵션'과 '인자'라는 추가 정보가 붙는다.
예를 들어, container run 커맨드에 -d 옵션을 주었다
docker container run [ -d ] ksu
도커 명령어의 커맨드 [ 무엇을 ], [ 어떻게 ] 할 것인지 지정하는 부분이라고 설명했다. '컨테이너'를 '실행'하고 싶다면 container run 커맨드를 사용한다. 다만 역사적 이유로 start나 run처럼 container를 붙이지 않아도 실행 가능한 명려어가 있으며, 관례상 이쪽을 사용하는 경우가 많다.
docker container run ## 커맨드 예
docker run ## 생략 예
옵션은 커맨드에 세세한 설정을 지정하는 용도로 쓰인다. 백그라운드 실행할 때는 -d, 키보드를 통해 조작하고 싶다면 -i, -t 붙이는 등, 커맨드의 실행 방법 또는 커맨그에 전달할 값을 지정한다. 옵션은 커맨드에 따라 달라진다.
옵션은 - 또는 -- 으로 시작하는 것이 일반적이지만 - 기호를 붙이지 않는 경우도 있다. 그리고 - 나 -- 중 무엇을 사용할지는 커맨드 작성자의 취향이다.
-d
--all
--name ksu
-dit ##-d, -i, -t 합친 예
커맨드와 달리 구체적인 이름을 지정한다. 이름이 ksu인 이미지의 컴테이너를 실행 하려면 아래와 같다.
container start [ 옵션 ] ksu
대상에 전달할 값을 지정한다. 문자 코드 또는 포트 번호 등을 전달할 수 있다. 단, 인자를 지정하는 경우는 그리 많지 않다.
예를 들어, MySQL과 워드프레스를 함께 쓸 때 MySQL 쪽에서 워드프레스가 지원하는 구식 인증 방식을 지정할 때 세 가지 인자를 사용하는 정도로, 필요한 상황이 제한적이다. 작성 방벙은 옵션과 마찬가지로 - 또는 -- 로 시작하는 경우가 많다.
--mode=1
--style nankyoku
Docker Command | Sub-command | Options |
---|---|---|
docker | run | -d, -it, -p, --name, --restart, -v, --env |
docker | ps | -a, -q, -f |
docker | images | -a, -q, --digests, --no-trunc |
docker | build | -t, -f, --build-arg, -m, --target |
docker | stop | - |
docker | start | - |
docker | rm | -f, -v, -l, -f |
docker | rmi | -f, -q |
docker | pull | - |
docker | push | - |
docker | exec | -it, -d, -u, -w |
docker | logs | -f, --since, --tail, --timestamps |
docker | network | create |
docker | volume | create |
커맨드 명 | 내용 | 생략 여부 | 옵션 |
---|---|---|---|
exec | 실행 중인 컨테이너에서 명령어 실행 | o | -i -t |
logs | 컨테이너 로그 출력 | o | |
attach | 실행 중인 컨테이너에 로컬 입출력 스트림 연결 | o | |
cp | 컨테이너와 로컬 파일 시스템 간 파일 복사 | o | |
pause | 하나 이상의 컨테이너의 모든 프로세스 일시 중지 | o | |
unpause | 일시 중지된 하나 이상의 컨테이너 프로세스 다시 시작 | o | |
inspect | 하나 이상의 컨테이너에 대한 상세 정보 확인 | o | |
stats | 컨테이너의 리소스 사용량 실시간 모니터링 | o | -i |
top | 컨테이너 내 실행 중인 프로세스 목록 표시 | o |
커맨드 명 | 내용 | 생략 여부 | 옵션 |
---|---|---|---|
pull | 이미지 다운로드 | o | |
push | 이미지 업로드 | ||
tag | 이미지에 태그 추가 | ||
build | Dockerfile로부터 이미지 빌드 | o | -t: 이미지명, -f: Dockerfile 경로 |
images | 로컬에 저장된 이미지 목록 출력 | -a: 모든 이미지 표시, -q: 이미지 ID만 표시 | |
rmi | 이미지 삭제 | -f: 강제 삭제, -q: 이미지 ID | |
history | 이미지 히스토리 출력 | ||
save | 이미지를 아카이브로 내보내기 | -o: 출력 파일 경로 | |
load | 이미지 아카이브에서 이미지 가져오기 | -i: 입력 파일 경로 |
커맨드 명 | 내용 | 생략 여부 | 옵션 |
---|---|---|---|
create | 새로운 볼륨 생성 | x | --driver, --name, --opt |
ls | 볼륨 목록 출력 | x | -q: 볼륨 ID만 표시 |
inspect | 볼륨에 대한 자세한 정보 출력 | x | |
rm | 하나 이상의 볼륨 삭제 | x | -f: 강제 삭제, -v: 볼륨 ID |
prune | 사용되지 않는 모든 볼륨 삭제 | x | -f: 강제 삭제 |
커맨드 명 | 내용 | 생략 여부 | 옵션 |
---|---|---|---|
create | 새로운 네트워크 생성 | x | --driver, --subnet, --gateway |
ls | 네트워크 목록 출력 | x | -q: 네트워크 ID만 표시 |
inspect | 네트워크에 대한 자세한 정보 출력 | x | |
rm | 하나 이상의 네트워크 삭제 | x | -f: 강제 삭제, -v: 네트워크 ID |
prune | 사용되지 않는 모든 네트워크 삭제 | x | -f: 강제 삭제 |
connect | 컨테이너와 네트워크 연결 | x | --ip, --alias, --ip6 |
disconnect | 컨테이너와 네트워크 연결 해제 | x |
커맨드 명 | 내용 |
---|---|
version | 도커 엔진 버전 정보 출력 |
info | 도커 시스템 정보 출력 |
login | 도커 레지스트리 로그인 |
logout | 도커 레지스트리 로그아웃 |
system prune | 사용되지 않는 리소스 (컨테이너, 네트워크, 볼륨, 이미지 등) 삭제 |