[Docker] docker 설치 및 기본 명령어 (작성 중)

곽동규·2024년 6월 7일

Docker 설치

1. Docker 리포지토리 추가
Docker를 설치하기 위해 공식 Docker 리포지토리를 추가합니다.

# yum install -y yum-utils

# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 

2. Docker 패키지 설치

# dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
  • docker-ce: Docker 엔진 및 데몬.
  • docker-ce-cli: Docker 명령줄 도구.
  • containerd.io: 컨테이너 런타임.
  • docker-buildx-plugin: 향상된 빌드 기능을 위한 도구.
  • docker-compose-plugin: 여러 컨테이너를 정의하고 실행할 수 있는 도구

3. 도커 시작

# systemctl start docker
# systemctl enable docker

Docker 커맨드

버전 확인

[root@docker-tet ~]# docker -v
Docker version 24.0.6, build ed223bc

도커 환경 초기화

도커 컨테이너 전체 삭제
# docker container rm -f $(docker container ls -aq)

이미지가 차지한 디스크 용량 회수
# docker image rm -f $(docker image ls -f reference='diamol/*' -q)

컨테이너 상세 정보 표출

# docker container inspect (container ID)

컨테이너에서 수집된 모든 로그 출력

# docker container logs (container ID)

컨테이너의 리소스 사용량 확인

# docker container stats (container ID)

Dockerfile

FROM : 이미지 지정
ENV : 환경 변수 값 지정을 위한 인스트럭션 [key]="[value]" 형식
WORKDIR : 컨테이너 이미지 파일 시스템에 디렉터리를 만들고, 작업 디렉터리로 지정
COPY : 로컬 파일 시스템의 파일 혹은 디렉터리를 컨테이너 이미지로 복사 [원본경로] [복사경로]
CMD : 도커가 이미지로부터 컨테이너를 실행했을 때 실행할 명령을 지

Dockerfile 의 인스트럭션은 잘 수정하지 않는 인스트럭션이 앞으로 오고, 자주 수정되는 인스트럭션이 뒤에 오도록 배치하는 것이 효율적이다.

이미지 저장에 실제 사용된 디스크 용량 확인

# docker system df

컨테이너 간 통신에 사용되는 도커 네트워크 생성

# docker network create (name)

docker 로 웹 서버 설치 하기

# docker pull nginx:latest  (debian os)
실행
# docker run -d -p 8080:80 --name nginx-exposed --restart always nginx

> -p (publish) : 외부에서 호스트로 보낸 요청을 컨테이너 내부로 전달하는 옵션
  -p <요청 받을 호스트 포트>:<연결할 컨테이너 포트>
  
> -d 옵션(detach) : 컨테이너를 백그라운드로 실행한다. shell을 빠져나와도 컨테이너 실행 	유지
> --restart always : 컨테이너 자동 시작 
접속
# docker exec -it nginx /bin/bash

0개의 댓글