[Docker] 도커에서 중요한 명령어 사용법

docker run

이 명령어는 이미지에서 컨테이너를 실행할 때 사용됩니다. docker run 명령어는 docker create와 docker start 명령어의 조합입니다. 지정된 이미지에서 컨테이너를 생성하고 그 컨테이너를 시작합니다. 이미지가 없으면 docker run이 이미지를 가져옵니다.

docker run <image_name>

위 명령어 처럼 이미지를 run했을 시 컨테이너가 임의에 이름으로 만들어집니다. 컨테이너 이름을 지정하려면

docker run --name <container_name> <image_name>

docker pull

도커 허브에 있는 이미지를 가져옵니다. 기본적으로 최신 이미지를 가져오지만, 이미지 버전을 명시할 수도 있습니다.

docker pull <image_name>

docker ps

기본적으로 실행 중인 모든 컨테이너 목록을 보여줍니다. 다양한 옵션과 함께 사용할 수 있습니다.

  • -a : 중지되었거나 실행 중인 모든 컨테이너를 보여줍니다.
  • -l : 가장 최근의 컨테이너를 보여줍니다.
  • -q: 컨테이너 id만 표시합니다.
docker ps [options..]

docker stop

이 명렁어는 컨테이너를 중지합니다.

docker stop <container_name_or_id>

여러 컨테이너를 한 번에 중지하려면

docker stop <container1> <container2> <container3>

docker start

중지된 컨테이너를 다시 시작하려면 이 명령어를 사용합니다.

docker start <container_ID>

docker rm

컨테이너를 삭제하는 명령어입니다. 기본적으로 컨테이너가 생성될 때 ID와 가상 이름이 부여됩니다. 컨테이너 이름이나 ID를 명시할 수 있습니다. 다양한 옵션과 함께 사용할 수 있습니다.

  • -f: 컨테이너를 강제로 제거합니다.
  • -v: 볼륨을 제거합니다.
  • -l: 특정 링크를 제거합니다.
docker rm {options} <container_name or ID>

docker rmi

도커에서 이미지를 삭제합니다. 로컬 스토리지에서 필요 없는 이미지를 삭제하여 공간을 확보할 수 있습니다.

docker rmi <image ID/image name>

docker images

시스템에 있는 모든 이미지를 나열합니다.

docker images

docker exec

실행 중인 컨테이너에서 새로운 명령어를 실행할 수 있게 합니다. 컨테이너가 실행 중일 때만 작동하며, 컨테이너가 재시작되면 이 명령어는 다시 시작되지 않습니다. 다양한 옵션과 함께 사용할 수 있습니다.

  • -d: 명령어를 백그라운드에서 실행합니다.
  • -i: 연결되지 않았을 때도 STDIN을 열어둡니다.
  • -e: 환경 변수를 설정합니다.
docker exec {options}

docker ports(포트 매핑)

외부에서 Docker 컨테이너에 접근하려면 호스트의 포트를 컨테이너의 포트에 매핑해야합니다.

docker run -d -p <port_on_host>:<port_on_container> <container_name>

docker login

도커 허브와의 인증을 도와주고 이를 통해 이미지를 업로드하고 다운로드할 수 있습니다.

docker login

docker push

도커파일을 사용하여 커스텀 이미지를 빌드한 후, 해당 이미지를 도커 허브에 저장합니다.

docker push <image name/image ID>

docker build

도커파일을 사용하여 도커 이미지를 빌드합니다.

docker build -t <image_name>:<tag> .

<image_name>은 빌드할 이미지 이름이고 <tag>는 태그번호이고 .은 도커파일이 있는 현재 디렉토리를 의미합니다.

docker restart

컨테이너 실행 중 오류가 발생하거나 컨테이너가 시작되지 않을 때 컨테이너를 재시작할 수 있습니다.

docker restart <container_name_or_id>

docker inspect

실시간으로 컨테이너 오류를 디버그할때 사용합니다.

docker inspect <container_name_or_id>

docker commit

현재 이미지로 컨테이너를 실행한 후, 컨테이너를 통해 업데이트를 수행하고 해당 컨테이너에서 이미지를 생성할때 사용합니다.

docker commit <container_name_or_id> <new_image_name>:<tag>