🚑 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 // 애플리케이션 테스트






