카테고리 없음

Docker Container 관련 명령어

_silver 2024. 12. 20. 13:34

🚑 1. Container 실행 테스트

▫️ Docker 엔진과 구성 확인 → docker info

 

▫️ Docker 동작 확인 → docker ps

 

▫️ 간단한 컨테이너 실행  → docker run hello-world

▫️ Nginx 서버를 실행하여 동작을 테스트  → docker run -d -p 8080:80 nginx

 

▫️ Docker 이미지 다운받기 → docker image pull nginx:1.25.3-alpine

 

▫️ 이미지 목록 확인 docker images

▫️ 이미지가 어떻게 만들어 졌는지 history 확인  → docker image history nginx:1.25.3-alpine

- 여러 개의 계층 구조로 구성되어 있다.

▫️ 웹서버 실행 docker run -d -p 8001:80 --name webserver01 nginx:1.25.3-alpine

더보기

* -p 8001:80 -                :   로컬 머신의 8001 포트를 컨테이너의 80 포트에 연결(포트 매핑)

* --name webserver01  :   컨테이너 이름을 "webserver01"으로 지정

* nginx:1.25.3-alpine    :    Nginx의 특정 버전 "1.25.3-alpine"을 사용.

▫️ 정상 실행 확인 docker ps | grep webserver01

 

▫️ 포트 번호 확인.  docker port webserver01

 

▫️ 8001 포트 내용 확인 curl localhost:8001


🚑  2. 컨테이너 관리

▫️ 컨테이너 중지 docker stop webserver01(컨테이너 이름)

 

▫️ 컨테이너 다시 시작 docker start webserver01(컨테이너 이름)

 

▫️ 컨테이너 삭제 docker rm -f webserver01(컨테이너 이름)

 


🚑  3. 컨테이너 수동 생성

▫️ 컨테이너 생성 docker create -ti --name ubuntu2204test ubuntu:22.04

더보기

* "docker create" 명령어는 생성만 되고 바로 실행 되지 않는다.(대조적으로, docker run은 생성 후 바로 실행된다)

* -ti : 컨테이너와 상호작용할 수 있다록 준비한다.

* --name ubuntu2204test : 생성할 컨테이너의 이름을 "ubuntu2204test"로 지정한다.

↪️ 컨테이너가 생성되면 고유한 컨테이너 ID가 출력되며, 실행되지 않은 상태로 대기한다.

▫️ 컨테이너 실행 docker start ubuntu2204test

 

▫️ 컨테이너 목록 표시→ docker container ls

* -a 옵션을 추가하면 중지된 컨테이너를 포함해 모든 컨테이너를 나열한다.(docker container ls -a)

 

▫️ 실행중인 컨테이너 연결 → docker attach ubuntu2204test

더보기

# 다른 터미널 입력(docker ps -a) > exit > docker ps -a 한번더 입력 > status(상태) 변경 확인

 

▫️ 컨테이너 상태 확인 → docker ps -a

 


 

🚨 docker create는 create ➡️ start ➡️ attach 복잡하다!!

한번에 실행하는 명령어가 있다는데!?

 

⬇️ 바로 확인!!

 

▫️ 컨테이너 생성 후 바로 실행 docker run -ti --name=ubuntu2204test2 ubuntu:22.04 /bin/bash

더보기

* docker run 은 create/start/attach 를 순차적으로 한 번에 실행하는 것과 같다.


🚑  4. 컨테이너 명령 테스트

cd ~				// 홈 디렉토리
mkdir nodejsapp		// nodejsapp 생성

cd nodejsapp
vi app.js			// 테스트용 nodejs 앱
:esc + :wq			//파일 저장

vi Dockerfile 		// 새로운 도커 이미지를 위한 Dockerfile
esc + :wq			//파일 저장

docker buildx build -t node-test:1.0 . 	// 1.0 태그를 추가하여 node-test라는 이미지를 빌드 

docker images | grep node-test  		// 빌드 완료한 이미지 보기

docker image history node-test:1.0 		// 1.0으로 태그 추가한 이미지의 Dockerfile history

docker run -itd -p 6060:6060 --name=node-test -h node-test node-test:1.0	// 컨테이너 실행

docker ps | grep node-test				// 컨테이너 상태 확인
curl http://localhost:6060				// 애플리케이션 테스트