[Docker] CLI 정리

minhyuk yoon (joseph)·2022년 1월 27일
0

docker

목록 보기
1/1

도커 공식 문서를 바탕으로 명령어를 요약했습니다.
더 필요한 내용은 공식 문서에서 찾아볼 수 있습니다.

SAVE 부터 시작

Commands


login

사용법

docker login [OPTIONS] [SERVER] [flags]
docker login [COMMAND]

도움말

docker login --help

예시

# Login Docker Hub
docker login
docker login -u YOUR_ID

# Login to a self-hosted registry
docker login localhost:8080

# Provide a password using STDIN
cat ~/my_password.txt | docker login --username foo --password-stdin

logout

사용법

docker logout [SERVER] [flags]
docker logout [command]

도움말

docker logout --help

예시

# Logout Docker Hub
docker logout

# Logout to a self-hosted registry
docker logout localhost:8080

attach

  • 실행중인 컨테이너의 ID 또는 이름을 이용하여 터미널 표준 입출력 및 에러를 연결하는 명령어이다.
  • attach 명령어를 통해 컨테이너의 출력을 확인하거나 interactive 하게 제어할 수 있다.
  • https://docs.docker.com/engine/reference/commandline/attach/

사용법

docker attach [OPTIONS] CONTAINER

도움말

docker attach --help

예시

https://docs.docker.com/engine/reference/commandline/attach/#examples

build

  • Dockerfile 또는 Context 로부터 docker image 를 빌드하는 명령어이다.
  • 빌드 컨텍스트는 명시한 PATH 또는 URL 에 위치한 파일 집합이다.
  • 예를 들면 빌드는 COPY 명령을 사용하여 컨텍스트에서 파일을 참조 할 수 있다.
  • URL 파라미터는 3가지 종류의 리소스를 나타낼 수 있다.
    • Git repository
    • pre-packaged tarball contexts
    • pain text file(일반 텍스트 파일)
  • https://docs.docker.com/engine/reference/commandline/build/

사용법

docker build [OPTIONS] PATH | URL | -

도움말

docker build --help

예시

# Build with PATH
docker build .

# Build with URL
docker build github.com/creack/docker-firefox

# Build with -
1. docker build - < Dockerfile
2. docker build - < context.tar.gz

buildx

사용법

docker buildx [OPTIONS] COMMAND

[ options ]
1. --builder string : 설정된 빌더 인스턴스를 재정의한다.

[ commands ]
1. bake 		: 하나의 파일로부터 빌드를 실행한다.
2. build 		: 빌드를 시작한다.
3. create		: 하나의 새로운 빌더 인스턴스를 생성한다.
4. imagetools 	: registry 에 있는 이미지에서 작업하기 위한 명령어.
4. du 			: Disk usage
5. inspect		: 현재 빌더 인스턴스를 검사한다.
6. ls			: 빌더 인스턴스의 리스트.
7. prune		: 빌드 캐시를 제거한다.
8. rm			: 하나의 빌더 인스턴스를 제거한다.
9. stop			: 빌더 인스턴스를 중지한다.
10. use			: 현재 빌드 인스턴스를 설정한다.
11. version		: buildx 버전 정보를 보여준다.

commit

사용법

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

도움말

docker commit --help

예시

https://docs.docker.com/engine/reference/commandline/commit/#examples

docker commit CONTAINER_ID centos7:2.0

cp

사용법

# host -> container
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

# conatiner -> host
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-

도움말

docker cp --help

예시

#host -> container
docker cp ~/data/helloWorld.txt myContainer:/root/data/

# container -> host
docker cp myContainer:/root/data/helloWorld.txt ~/data/ 

exec

사용법

docker exec [OPTIONS] CONTAINER COMMAND [ARGS...]

도움말

docker exec --help

예시

docker exec myContainer pwd
docker exec myContainer ps
docker exec -i -t myContainer bash => docker exec -it myContainer bash

images

사용법

docker images [OPTIONS] [REPOSITORY[:TAG]]

도움말

docker images --help

예시

docker images
docker images -a

kill

사용법

docker kill [OPTIONS] CONTAINER [CONTAINERS...]

도움말

docker kill --help

예시

docker kill my_container

load

사용법

docker load [OPTIONS]

도움말

docker load --help

예시

docker load < busybox.tar.gz
docker load --input fedora.tar

logs

사용법

docker logs [OPTIONS] CONTAINER

도움말

docker logs --help

예시

docker logs -f CONTAINER		-> 생성되는 로그를 계속 조회
docker logs --tail N CONTAINER		-> 마지막 N개의 로그만 확인
docker logs --tail N -f CONTAINER	-> 마지막 N개의 로그 출력 & 생성되는 로그 계속 조회

pause

사용법

docker pause CONTAINER [CONTAINER...]

도움말

docker pause --help

예시

docker pause my_container

port

사용법

docker port CONATINER [PRIVATE_PORT[/PROTOCOL]]

도움말

docker port --help

예시

# Show all mapped ports
docker port my_container

docker port my_container 7890/tcp
docker port my_container 7890/udp
docker port my_container 7890

ps

사용법

docker ps [OPTIONS]

도움말

docker ps --help

예시

docker ps	-> 현재 실행중인 컨테이너 목록만 조회
docker ps -a	-> 모든 컨테이너의 목록을 조회

pull

사용법

docker pull [OPTONS] NAME[:TAG | @DIGEST]

도움말

docker pull --help

예시

docker pull mysql -> docker pull mysql:latest 와 같은 의미

[TAG]
docker pull mysql:latest -> tag 이용
docker pull mysql:8.0.28 -> tag 이용

[DIGEST]
docker pull mysql:c2e99ad580f5 -> digest 이용

push

사용법

docker push [OPTIONS] NAME[:TAG]

도움말

docker push --help

예시

rename

사용법

docker rename CONTAINER NEW_NAME

도움말

docker rename --help

예시

docker rename my_container my_new_container

restart

사용법

 docker restart [OPTIONS] CONTAINER [CONTAINER...]

도움말

docker restart --help

예시

docker restart my_container

rm

사용법

docker rm [OPTIONS] CONTAINER [CONTAINER...]

도움말

docker rm --help

예시

# Container ID 로 삭제
docker rm conatiner_id

# Container 이름으로 삭제
docker rm container_name

# Remove a container : This removes the container referenced under the link /redis.
docker rm /redis

# Force-remove a running container
docker rm --force redis

rmi

사용법

docker rmi [OPTIONS] IMAGE [IMAGE...]

도움말

docker rmi --help

예시

# image ID 로 삭제
docker rmi image_id

# image REPOSITORY:TAG 로 삭제
docker rmi test:latest

# 이미지 강제 삭제
docker rmi -f test:latest
docker rmi --force test:latest

run

  • 특정 이미지를 대상으로 새로운 컨테이너를 생성하고 시작하는 명령어.
  • 컨테이너 시작시 명시한 COMMAND 도 함께 실행된다.
  • 이미지가 존재하지 않는다면 해당 이미지를 다운로드한다.
  • https://docs.docker.com/engine/reference/commandline/run/

사용법

docker run [OPTIONS] IMAGE [COMMAND] [ARGS...]

도움말

docker run --help

예시

docker run --name myFirstMySQL -e MYSQL_ROOT_PASSWORD=password -d mysql:TAG

ㄴ mysql:TAG 이미지를 이용하여 새로운 컨테이너에서 mysql 인스턴스를 실행하는 명령어
ㄴ --name : 실행되는 컨테이너의 이름을 지정하는 옵션
ㄴ -e     : 환경 변수를 설정해주는 옵션
ㄴ -d     : 컨테이너를 백그라운드에서 실행하고 해당 컨테이너의 ID 를 프린트해주는 옵션

tag

  • 기존 docker image 의 이름을 변경하거나 새로운 태그를 붙일 때 사용하는 명령어이다.

사용법

docker tag SOURCE_IMAGE[:tag] TARGET_IMAGE[:TAG]
=> docker tag 기존 이미지명[:태그] 새로운 이미지명[:태그]

도움말

docker tag --help

예시

docker tag demo-api:1.0 demo-api:1.1
docker tag api:1.0 demo-api:1.0
docker tag api:1.0 demo-api:2.0

Management Commands


profile
보다나은 내일을 위한

0개의 댓글