Cloud/Docker & Kubernetes

도커로 컨테이너 다루기

DGO 2023. 4. 16. 01:56

도커로 컨테이너를 다루는 기본 순서는 아래와 같다.

 

도커에서 서비스 운영에 필요한 서버 프로그램, 소스코드 및 라이브러리, 컴파일된 실행 파일을 묶는 형태를 이미지 라고 한다.

 

컨테이너 생성에 필요한 모든 파일과 설정값을 지닌 것으로 더 이상의 의존성 파일을 컴파일하거나 설치할 필요 없는 상태의 파일을 의미하며 도커 이미지를 활용하여 컨테이너로 실행 할 수 있다.

도커 설치 (CentOS7)

yum install docker // docker 설치
systemctl start docker // docker 실행
systemctl status docker // docker 상태 확인

 

 

이미지 검색

docker search <image>

 

 

이미지 내려받기

docker pull <image>:<tag>

 

태그를 사용하여 다른 버전의 이미지를 다운받을 수 있으며 이름만으로 pull을 수행하면 기본적으로 latest가 적용되며

도커 허브 페이지에서 태그 정보들을 확인 할 수 있다.

 

 

다운받은 이미지는 아래 명령어로 확인 가능

 

docker images <image>

 

 

컨테이너 실행

docker run -d -p <요청 받을 호스트 포트>:<연결할 컨테이너 포트> -v <호스트 디렉토리>:<컨테이너 디렉토리> 
--restart always --name <만들 컨테이너 이름> <이미지 이름>

 

-d 컨테이너를 백그라운드에서 구동, 생략하면 애플리케이션의 상태가 표시되어 빠져나오면 컨테이너 중단
-p 외부에서 호스트로 보낸 요청을 컨테이너 내부로 전달하는 옵션


-v 호스트 디렉터리와 컨테이너 디렉터리를 연결 (바인드 마운트, 볼륨등의 방법 존재)

--restart (always) 컨테이너의 재시작과 관련된 옵션으로 컨테이너가 중지되거나 도커 서비스가 작동할때 자동으로 시작되도록 설정 가능

 

ex)

nginx는 usr/share/nginx/html의 index.html 파일을 기본값으로 사용하기 때문에 호스트에 /root/html 디렉토리 생성 및 index.html 파일을 작성.(바인드 마운트)

 

 

접속 확인

 

 

 

 

 

 

 

 

컨테이너 상태 확인

docker ps -f name=<names>, id=<container id> // -f 옵션을 사용하여 name이나 id로 조회 가능

 

 

컨테이너 접속 

docker exec <container> <command>
-it 셸을 실행해서 컨테이너 환경 탐색 가능
-e 환경변수 지정 가능

 

 

컨테이너 정지 및 삭제

 

컨테이너 정지

docker stop <container id or container name>
docker stop $(docker ps -f ancestor=<image>) // 해당 이미지를 사용하는 모든 컨테이너를 한번에 정지 가능

 

컨테이너 삭제

docker rm <container id or container name>
docker rm $(docker ps -a -f ancestor=<image>) // 해당 이미지를 사용하는 모든 컨테이너를 한번에 삭제

 

이미지 삭제

docker rmi <image>
docker rmi $(docker images <image>) // 해당 이미지 한번에 삭제

'Cloud > Docker & Kubernetes' 카테고리의 다른 글

쿠버네티스 파드 생성  (0) 2023.04.20
쿠버네티스의 구성 요소  (0) 2023.04.19
쿠버네티스 클러스터 구성  (1) 2023.04.17
Docker?  (0) 2023.04.15
kubernetes?  (0) 2023.04.15