도커로 컨테이너를 다루는 기본 순서는 아래와 같다.
도커에서 서비스 운영에 필요한 서버 프로그램, 소스코드 및 라이브러리, 컴파일된 실행 파일을 묶는 형태를 이미지 라고 한다.
컨테이너 생성에 필요한 모든 파일과 설정값을 지닌 것으로 더 이상의 의존성 파일을 컴파일하거나 설치할 필요 없는 상태의 파일을 의미하며 도커 이미지를 활용하여 컨테이너로 실행 할 수 있다.
도커 설치 (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 |