logoStephen's 기술블로그

포스트 검색

제목, 태그로 포스트를 검색해보세요

#002 #커밋하기

#002 #커밋하기
Docker
2024년 6월 10일
목차

👉 공부의 순서

JavaScript
// 공부의 순서
1. 파이썬 (언어)
2. 자료구조 (알고리즘) - 6개월
3. 운영체제, 네트워크
4. 자바
5. 네트워크 프로그래밍 (소켓/프로토콜)
		5-1. 단방향/반이중/전이중
6. RDB
7. 서블릿
8. 스프링부트 (Rest)
9. HTML/CSS/Javascript
10. SSR 프로젝트
11. RESTAPI 전환 (보안 - 해시, JWT, RSA)
12. 리눅스 (Shell)
13. Docker 
14. AWS(클라우드 - 공부 - VPC,LB,IAM.. 등등)
15. 노가다 배포 (EC2) - 고생
16. 도커 배포 (EC2) - 고생
17. 오케스트라 (쿠버네티스) 
 

🔹 docker ps로 현재 docker이미지 상태를 알 수 있다.

JavaScript
docker ps
notion image
 

🔹 아래 명령어를 사용해서 tomcat이 없으면 자동으로 다운로드 한다.

JavaScript
docker run -d -p 9000:8080 tomcat:10
notion image
 

🔹 docker ps 해보면 아래처럼 뜨게 된다.

notion image
 

🔹 포트 포워딩 된걸 확인할 수 있다.

notion image
 

👉 커서를 켜서 도커 연습세팅해보자.

notion image
 

👉 도커 실행해보기

notion image
JavaScript
docker exec -it 0ae3 bash
위의 명령어로 실행할 수 있다.
위의 명령어로 실행할 수 있다.
notion image
 

🔹Tomcat 디렉토리 구조

JavaScript
// 리스트 명령어이고 내부 구조를 확인할 수 있다. 
ls 
notion image
Tomact 디렉토리 구조 설명
 

🔹 webapp.dist 디렉토리 구조

JavaScript
// webapps.dist 디렉토리로 이동 
// 설명 : 기본적으로 제공되는 웹 애플리케이션들이 위치하는 디렉토리이기 때문에, 
// 이 디렉토리로 이동하여 기본 웹 애플리케이션을 확인하거나 수정할 수 있다. 
cd webapps.dist

// 이동후 ls명령어 실행 : 내부 구조를 확인한다. 
ls
notion image
webapp.dist 디렉토리 구조 설명
 
 

🔹 webapps폴더에 ROOT 디렉토리 만들기

notion image
JavaScript
//ROOT 폴더를 만들 때는 mkdir명령어를 사용한다. 
mkdir ROOT
notion image
JavaScript
//ROOT 폴더 내에서 vi 사용해서 실행해보자. 
vi index.html
ROOT폴더 내에서 vi명령어를 실행하였더니 아무것도 나오지 않았다. 😢
apt-get으로 메뉴판을 업데이트 해야된다.
ROOT폴더 내에서 vi명령어를 실행하였더니 아무것도 나오지 않았다. 😢 apt-get으로 메뉴판을 업데이트 해야된다.
 

🔹 메뉴판 업데이트

notion image
JavaScript
//메뉴판 업데이트
apt-get update
근데 이렇게 해도 이거 컨테이너가 꺼지면 다 사라진다. ⚠️조심!!!⚠️
근데 이렇게 해도 이거 컨테이너가 꺼지면 다 사라진다. ⚠️조심!!!⚠️
 
notion image
JavaScript
// 나노설치
apt-get install nano
나노는 메모장 같은거
나노는 메모장 같은거
 

🔹 index.html 작성

notion image
JavaScript
nano index.html
실행해서 들어가보면, 위처럼 화면이 나온다.
실행해서 들어가보면, 위처럼 화면이 나온다.
 
notion image
ctrl +  X → Y 엔터 하면 index.html이 저장이 되고, 
ls 명령어로 확인해보면 ROOT폴더 옆에 파일이 생성 된게 보인다.
ctrl + X → Y 엔터 하면 index.html이 저장이 되고, ls 명령어로 확인해보면 ROOT폴더 옆에 파일이 생성 된게 보인다.
 
 
notion image
근데 사실 이 index.html을 ROOT폴더 안에 만들었어야 했는데, 잘못했다 ㅠ

mv 명령어를 사용하여 index.html ROOT폴더로 옮기겠다.
근데 사실 이 index.html을 ROOT폴더 안에 만들었어야 했는데, 잘못했다 ㅠ mv 명령어를 사용하여 index.html ROOT폴더로 옮기겠다.
JavaScript
mv /usr/local/tomcat/webapps/index.html /usr/local/tomcat/webapps/ROOT/
notion image
그리고 localhost:9000으로 접속하면 포트포워딩이 되어 index.html을 찾는다. 

그래서 위 화면 처럼 출력이 된다.
그리고 localhost:9000으로 접속하면 포트포워딩이 되어 index.html을 찾는다. 그래서 위 화면 처럼 출력이 된다.
 

⚠️⚠️주의 할 점⚠️⚠️

이미지는 컨테이너가 꺼지면 다 날라가니까 꼭 주의 하도록 하자.
저장하고 싶다면 커밋을 해야된다.
이미지는 컨테이너가 꺼지면 다 날라가니까 꼭 주의 하도록 하자. 저장하고 싶다면 커밋을 해야된다.
 

🔹 커밋하기 - 일단 bash에서 빠져나와야된다.

notion image
ctrl + P / ctrl + Q 하면 bash를 종료하는 것이 아니라 잠시 빠져나온다.
ctrl + P / ctrl + Q 하면 bash를 종료하는 것이 아니라 잠시 빠져나온다.
 
notion image
docker ps 명령어로 해당 이미지의 containerID를 찾는다. 
여기서는 0ae3
docker ps 명령어로 해당 이미지의 containerID를 찾는다. 여기서는 0ae3
 
notion image
JavaScript
docker commit 0ae3 chugue85/tomcat:10
위의 커밋 명령어를 사용해서 이미지 컨테이너ID / 나의이름 / 태그 를 조합해서 명령어를 실행한다.
위의 커밋 명령어를 사용해서 이미지 컨테이너ID / 나의이름 / 태그 를 조합해서 명령어를 실행한다.
 
notion image
그럼 이렇게 도커에서 확인이 가능하다.
그럼 이렇게 도커에서 확인이 가능하다.
notion image
docker images로도 확인이 가능하다.
docker images로도 확인이 가능하다.
 

👉 이미지를 지워보자.

notion image
이렇게 지울수 있는데, 이걸 지우고 다시 들어가면 아무것도 실행할 수 없다. 
다 날라갔기 때문에
이렇게 지울수 있는데, 이걸 지우고 다시 들어가면 아무것도 실행할 수 없다. 다 날라갔기 때문에
 

🔹 다시 들어갔을 때 확인이 될까?? 다시 실행해보자.

notion image
다시 실행해보면??
다시 실행해보면??
notion image
위 처럼 아무것도 남아있지 않다. 
그러므로 작업하다가 커밋하는 것이 매우 중요하다.
위 처럼 아무것도 남아있지 않다. 그러므로 작업하다가 커밋하는 것이 매우 중요하다.
 
 

🔹 이미지 삭제 & 확인

notion image