리눅스 환경에서 Docker 명령어와 기본 사용 방법에 대해 알아보겠습니다.
운영환경
- CentOS 7.6
설치
$ yum install docker
설치가 완료되면 버전을 조회하여 설치 확인을 합니다.
$ docker -v
컨테이너 생성 및 실행
docker run
명령어는 컨테이너를 생성 및 실행과 동시에 컨테이너 내부로 들어갑니다.
기본 포맷입니다.
$ docker run (<옵션>) <이미지 식별자> (<명령어>) (<인자>)
예시입니다. 가독성을 위해 (역슬래시)를 이용해 각 설정 옵션을 구분합니다.
$ docker run -d \
--name hgko.default.local \
--privileged \
-h hgko --network insnet \
-v /data:/data \
-p 5914:5901 \
hgko
간략한 예시입니다.
$ docker run -d -i -t test /bin/bash
Run 옵션 목록
-d
: 컨테이너를 백그라운드로 실행해야 할 때 사용-name
: 컨테이너를 식별할 수 있도록 이름을 부여-h
: 컨테이너 호스트 이름 설정-v
: 볼륨 마운트 (컨테이너 외부 <-> 컨테이너 내부 디렉터리 마운트)-p
: 포트 연결 (컨테이너 외부 <-> 컨테이너 내부 포트간의 연결)--link
: 내부 IP를 알 필요 없이 항상 컨테이너에 별명으로 접근하도록 설정--privileged
: 시스템 내 장치 등 주요 자원에 접근하며 커널의 기능을 대부분 사용할 수 있도록 설정
컨테이너 생성
docker create
명령어는 컨테이너를 생성만 할 뿐 컨테이너 내부로 들어가지 않습니다.
$ docker create -i -t --name mycentos centos:7
컨테이너 실행
다음 명령어를 실행하여 컨테이너를 시작합니다.
$ docker start mycentos
컨테이너 내부로 들어갑니다.(단, -i -t 옵션을 사용 했을 때)
$ docker attach mycentos
컨테이너 내부 셸 사용
mycentos 컨테이너 내부에 bash 프로세스를 실행하고, -i -t 옵션을 사용해서 bash 셸을 쓸 수 있게 유지합니다.
$ docker exec -i -t mycentos \bin\bash
$ docker exec -i -t mycentos bash
컨테이너 내부에서 빠져나오기
컨테이너 내부에서 빠져나오는 방법은 두 가지가 있습니다. 첫 번째는 컨테이너 셸에서 exit를 입력하거나 Ctrl + D를 동시에 입력하는 것입니다. 이 방법은 컨테이너 내부에서 빠져나오면서 동시에 컨테이너를 정지시킵니다. 두 번째는 Ctrl + P, Q를 입력하는 것입니다. 이 방법은 컨테이너를 정지하지 않고 빠져나옵니다.
컨테이너 확인
정지되지 않은 컨테이너만 출력합니다.
$ docker ps
정지된 컨테이너를 포함한 모든 컨테이너를 출력합니다.
$ docker ps -a
출력 결과가 줄바꿈되어 알아보기 힘들 때 --format
옵션을 사용합니다/
$ docker ps --format "table {{.ID}}\{{.Status}}\t{{.Image}}"
특정 컨테이너를 출력합니다.
$ docker ps | grep mycentos
컨테이너 이름 변경
$ docker rename mycentos my_centos
컨테이너 삭제
정지된 컨테이너만 삭제 가능합니다.
$ docker rm mycentos
실행 중인 컨테이너도 삭제 가능합니다. (-f : 강제 삭제)
$ docker rm -f mycentos
모든 컨테이너 삭제 가능합니다.
$ docker container prune
이미지 목록
$ docker images
이미지 삭제
$ docker rmi <이미지 식별자>
이미지 빌드
$ docker build -t hgko ./image/
'DevOps > Docker' 카테고리의 다른 글
개발자를 성장시키는 25가지 Docker 명령어(2) (1) | 2024.11.26 |
---|---|
개발자를 성장시키는 25가지 Docker 명령어(1) (1) | 2024.11.25 |
[Docker] 명령어들 (0) | 2022.09.21 |
IT 기술과 개발 내용을 포스팅하는 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!