Docker 명령어 정리

홍석희·2024년 1월 15일
0

docker

목록 보기
6/6
post-thumbnail

참고 자료: https://docs.docker.com/engine/reference/commandline/cli/

docker pull

$ docker pull [OPTIONS] NAME[:TAG|@DIGEST]

레지스트리에서 이미지를 다운로드. 로컬 캐사에 이미지가 있다면 해당 이미지를 사용하고, 없다면 docker hub에서 해당 이미지를 다운로드

TAG는 생략이 가능하고 생략하면 :latest가 적용됨

digest 는 Docker v2 이후의 형식을 사용하는 이미지들이 가지고 있는 content-addressable 한 고유 식별자

위 실행 결과에서 태그를 사용하지 않아 디폴트 태그인 lastest 가 적용되는 것을 볼 수 있다

pulling from library/ubuntu 라는 로그에서 library 는 Docker hub의 기본 저장소(registry)를 나타낸다

docker images

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

이미지 리스트를 출력한다

OPTIONS

  • -a : 숨겨진 이미지까지 모두 출력
  • --digests : digest와 함께 출력

REPOSITORY를 명시하여 원하는 이미지 리스트들을 조회 가능

docker ps

$ docker ps [OPTIONS]

실행 중인 컨테이너 리스트를 출력한다

OPTIONS

  • -a : 모든 컨테이너를 출력한다

docker logs

$ docker logs [OPTIONS] CONTAINER

컨테이너의 실행 중에 발생한 로그를 보여준다

OPTIONS

  • --tail N : 마지막에서 N개의 로그 출력
  • -f : 출력 후 프로세스 종료하지 않고 계속해서 출력되는 로그를 추적
    • -f --tail 0 CONTAINER 와 같이 사용하면 새로 생성되는 로그만 확인 가능

docker logs CONTAINER | gerp:{text} 와 같이 리눅스의 grep 명령어를 사용하여 원하는 text가 포함된 로그만을 조회할 수 있다

docker run

$ docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

이미지가 없다면 pull 한 후 새로운 컨테이너를 생성하여 COMMAND를 실행

OPTIONS

  • -d : detach 옵션으로 컨테이너를 백그라운드에서 실행하고 컨테이너 ID를 출력
  • -it : 컨테이너를 종료하지 않은 채 터미널의 입력을 계속해서 컨테이너로 전달
    • -i : STDIN을 계속 유지
    • -t : 가상 터미널을 할당
  • --name : 컨테이너 이름 지정
  • -e : 환경변수 지정
  • -p : 호스트와 컨테이너 간의 포트 바인드를 위해 사용
  • --rm : 컨테이너 종료 시 자동으로 삭제

docker start

$ docker start [OPTIONS] CONTAINER [CONTAINER...]

중지 됐던 하나 이상의 컨테이너를 실행

docker exec

$ docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

실행중인 컨테이너에서 명령어를 실행

OPTIONS:

  • -b : 백그라운드에서 명령어 실행

docker exec -d mycontainer touch /tmp/execWorks : mycontainer의 백그라운드에서 touch 명령어 수행

docker stop

$ docker stop [OPTIONS] CONTAINER [CONTAINER...]

하나 이상의 실행중인 컨테이너 중지

docker rm

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

하나 이상의 컨테이너 삭제. 컨테이너가 실행중이라면 docker stop을 통해 중지 후에 사용해야 함

OPTIONS:

  • -f : 실행중인 컨테이너 강제 종료(SIGKILL)
  • -v : 컨테이너와 연관된 volumne 제거

docker rmi

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

하나 이상의 이미지 삭제

docker tag

$ docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

SOURCE_IMAGE를 나타내는 TARGET_IMAGE 태그를 생성한다

ubuntu:latest 이미지와 동일한 custom_ubuntu:new가 생성된 것을 볼 수 있다

docker build

$ docker build [OPTIONS] PATH | URL | -

dockerfile로 부터 이미지를 생성

OPTIONS:

  • -t : name:tag 형식으로 태그 지정
  • -f : Dockerfile 경로 지정(디폴트는 PATH/Dockerfile)

docker push

$ docker push [OPTIONS] NAME[:TAG]

이미지를 레지스트리에 업로드, 기본 레지스트리인 Docker Hub에 업로드 된다

profile
개발 기록

0개의 댓글