1. Docker 컨테이너의 개념
Docker 컨테이너란, Docker 이미지의 인스턴스를 실행한 것이다. 각 컨테이너는 호스트 OS의 커널을 공유하며, 다른 컨테이너와 격리된 프로세스로 실행된다. 컨테이너는 애플리케이션과 그 실행 환경을 묶어 하나의 독립적인 유닛으로 실행된다.
2. Docker 컨테이너 생성 명령어
1)docker container create: 컨테이너를 생성하지만 시작 안함.
$ docker container create --name [컨테이너 이름] [이미지 이름]
주로 특정 옵션을 설정하고 싶은 경우 사용하며, 일반적으로 많이 사용되지 않는다. 대부분 docker run 명령어로 컨테이너를 생성하고 실행한다.
2)docker run: 컨테이너 생성과 실행을 동시에 수행
$ docker run -d --name [컨테이너 이름] [이미지 이름]
3. 컨테이너 상태 관리 명령어
1)컨테이너 중지
$ docker container stop [컨테이너 이름/ID]
2)컨테이너 시작
$ docker container start [컨테이너 이름/ID]
3)컨테이너 삭제
컨테이너가 실행 중일 때는 삭제 불가! 반드시 컨테이너를 stop한 후 삭제해야 한다.
컨테이너 삭제
$ docker container rm [컨테이너 이름/ID]
실행 중인 컨테이너 강제 삭제
$ docker container rm -f [컨테이너 이름/ID]
4. Docker 이미지 관련 명령어
이미지 목록 확인
$ docker images
이미지 다운로드
$ docker pull [이미지 이름]
이미지 삭제
$ docker rmi [이미지 이름]
5. Docker 컨테이너 생성 및 실행 예제
Nginx 컨테이너 생성 및 실행해보자.
(1) Nginx 이미지 다운로드 및 컨테이너 생성
$ docker pull nginx
$ docker container create --name webserver nginx
컨테이너 목록 확인
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
05f5c4f509ec nginx "/docker-entrypoint.…" 5 minutes ago Created webserver
컨테이너 실행
$ docker start webserver
Nginx 웹서버를 백그라운드에서 실행
$ docker run -d --name webserver -p 8080:80 nginx
Nginx 웹서버의 상태 확인
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f4e73582487b nginx "/docker-entrypoint.…" 5 seconds ago Up 4 seconds 0.0.0.0:8080->80/tcp, :::8080->80/tcp webserver
(2) 스크립트를 통한 다중 컨테이너 생성
Shell Script로 다수의 Nginx 컨테이너 생성
$ vim con.sh
#!/bin/bash
for i in $(seq 1 10)
do
docker container create nginx
done
스크립트 실행
$ sh con.sh
생성된 컨테이너 목록 확인
$ docker ps -a
(3) Rocky Linux 컨테이너 실행 및 명령어 활용
Rocky Linux 이미지 다운로드
$ docker pull rockylinux:8
컨테이너 생성 및 간단한 명령 실행
$ docker container run --name test1 rockylinux:8 /bin/cal
결과
August 2024
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
컨테이너를 백그라운드 모드로 실행
$ docker container run --rm -d rockylinux:8 /bin/ping localhost
컨테이너 로그 확인
$ docker container logs [컨테이너 이름/ID]
현재 실행중인 컨테이너 전부 삭제
$ docker rm -f $(docker ps -aq)
6. Docker 컨테이너 실행 옵션
Foreground 모드
$ docker run -it [이미지 이름] [명령어]
Background 모드
$ docker run -d [이미지 이름]
7. Docker 컨테이너 로그 및 상태 확인
로그 확인
$ docker container logs [컨테이너 이름/ID]
시간 표시 로그 확인
$ docker container logs -t [컨테이너 이름/ID]
실행 중인 컨테이너의 실시간 상태 확인
$ docker container stats [컨테이너 이름/ID]
8. Docker 컨테이너 관리 팁
컨테이너가 많아질 경우 정리
$ docker rm -f $(docker ps -aq)
사용하지 않는 이미지 삭제
$ docker rmi [이미지 이름]
'Docker' 카테고리의 다른 글
Docker Compose 설치 및 사용법 (1) | 2024.10.17 |
---|---|
Docker 개념 및 설치 과정 (2) | 2024.10.03 |