1. 새로운 컨테이너 만들기
1.1 dockerhub에서 이미지 내려받기
docker run -d -p 9000:8080 tomcat:10 // 톰캣10 버전을 다운 받고 백그라운드에서 실행, 포트포워딩으로 9000 포트가 요청되면 8080으로 실행
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F404a9fb6-ab9b-45cc-8074-ee63a3334890%252F759a20cf-eae2-4945-880c-3bf1b2561a6a%252FUntitled.png%3Ftable%3Dblock%26id%3D6478afbc-9e58-47e7-8ba8-c69a0c825daf%26cache%3Dv2&w=3840&q=75)
톰캣10 버전을 설치한다.
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F404a9fb6-ab9b-45cc-8074-ee63a3334890%252F6536ae66-eaec-407d-9816-13b8bc833f83%252FUntitled.png%3Ftable%3Dblock%26id%3Dcf244fdb-2759-4d50-8aea-5ff5c2ac5e6e%26cache%3Dv2&w=3840&q=75)
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F404a9fb6-ab9b-45cc-8074-ee63a3334890%252F06b77e9c-f56f-457c-967a-58c62104f969%252FUntitled.png%3Ftable%3Dblock%26id%3Deb5c3fe6-f5d4-4ded-af94-3675c18ca5b0%26cache%3Dv2&w=3840&q=75)
톰캣이 실행 중인 것을 확인할 수 있다.
1.2 index.html 파일 만들기
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F404a9fb6-ab9b-45cc-8074-ee63a3334890%252F77cd281e-c0ab-4634-aa46-9e233cc58958%252FUntitled.png%3Ftable%3Dblock%26id%3Dda57494c-0696-43ee-9d18-ea7fd5e623fa%26cache%3Dv2&w=3840&q=75)
톰캣을 터미널 모드로 실행한다.
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F404a9fb6-ab9b-45cc-8074-ee63a3334890%252Fdd1cf7a7-8fa5-4e9e-b075-7a48a3ef3428%252FUntitled.png%3Ftable%3Dblock%26id%3D6dcf7efa-a50e-4f74-b705-ea9a8c422ab3%26cache%3Dv2&w=3840&q=75)
webapps 폴더로 이동
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F404a9fb6-ab9b-45cc-8074-ee63a3334890%252F2df14c66-44c1-4fa9-9641-a7035c2e2a03%252FUntitled.png%3Ftable%3Dblock%26id%3De1e025e1-0293-415b-83c8-cdd197c532db%26cache%3Dv2&w=3840&q=75)
webapps 폴더에 ROOT 폴더를 생성 후 이동한다.
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F404a9fb6-ab9b-45cc-8074-ee63a3334890%252Fbbc61a4d-395c-489a-9e34-9cb412410afb%252FUntitled.png%3Ftable%3Dblock%26id%3De7bff234-72a9-44a2-88b7-12436864ece8%26cache%3Dv2&w=3840&q=75)
메뉴판을 업데이트한다.
apt-get install nano // nano 설치
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F404a9fb6-ab9b-45cc-8074-ee63a3334890%252F68e02c4b-6157-4611-923c-4fe0f3e1ec86%252FUntitled.png%3Ftable%3Dblock%26id%3D92c7ef0d-9bed-4708-be53-466c4ca12b75%26cache%3Dv2&w=3840&q=75)
nano 를 설치한다.
nano index.html // nano 를 통해 index.html 생성
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F404a9fb6-ab9b-45cc-8074-ee63a3334890%252F02e91b23-e23e-4f9d-93a0-5d4dd507c253%252FUntitled.png%3Ftable%3Dblock%26id%3Da593c722-e7b9-4c8f-b040-285fa179871e%26cache%3Dv2&w=3840&q=75)
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F404a9fb6-ab9b-45cc-8074-ee63a3334890%252F73760135-c0b2-4149-87eb-de7b28ea0526%252FUntitled.png%3Ftable%3Dblock%26id%3D77da7859-1e1d-4b07-9b48-7608a8210135%26cache%3Dv2&w=3840&q=75)
내용을 작성 후 컨트롤 + O 로 저장, 컨트롤 + X 로 빠져나온다.
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F404a9fb6-ab9b-45cc-8074-ee63a3334890%252F9bce00b1-351f-4fa5-9eae-ea10f369a3c0%252FUntitled.png%3Ftable%3Dblock%26id%3D425d7fc0-68b5-48ba-8397-97da887a6abb%26cache%3Dv2&w=3840&q=75)
index.html 파일이 생성되었다.
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F404a9fb6-ab9b-45cc-8074-ee63a3334890%252F5695eb24-db2f-4ec8-9c45-0d97c20b89e0%252FUntitled.png%3Ftable%3Dblock%26id%3Da4e61af5-8ce3-408c-87ce-ca45fd092c1d%26cache%3Dv2&w=3840&q=75)
2. 이미지 굽기 Commit
commit 명령어는 현재 상태의 컨테이너를 기반으로 새로운 이미지를 생성하는 데 사용된다.
2.1 터미널 빠져나오기
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F404a9fb6-ab9b-45cc-8074-ee63a3334890%252Fb4dce268-e092-41ae-8b3c-f81fe7e9747d%252FUntitled.png%3Ftable%3Dblock%26id%3Dd7fbe700-e0a7-4e5b-9af2-ad6e6451c055%26cache%3Dv2&w=3840&q=75)
컨트롤 + p 를 누르고 컨트롤 + q 를 누르면 컨테이너를 유지한 채로 터미널을 빠져나온다.
컨테이너 내부에서 exit 명령어를 사용하면 컨테이너가 종료된다.
2.2 commit 하기
docker commit 컨테이너Id 커밋명
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F404a9fb6-ab9b-45cc-8074-ee63a3334890%252F4b93975b-27cc-4b00-9f2e-84191dcf9a05%252FUntitled.png%3Ftable%3Dblock%26id%3D63881beb-7ab0-400b-9e10-6ed0a29bef36%26cache%3Dv2&w=3840&q=75)
컨테이너를 커밋한다.
커밋명의 컨벤션은 “dockerhub아이디/앱이름:태그” 이다.
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F404a9fb6-ab9b-45cc-8074-ee63a3334890%252F519e12cc-bb7a-463b-8cb8-9a0014cab240%252FUntitled.png%3Ftable%3Dblock%26id%3Dc53eb0db-7c2d-4fe8-b83d-5c25e5f2ce41%26cache%3Dv2&w=3840&q=75)
현재의 컨테이너가 이미지로 만들어졌다.
3. dockerhub 에 push 하기
로컬에서 생성한 이미지를 DockerHub 에 올릴 수 있다. 이를 통해 이미지를 공유하거나 다른 환경에서 사용할 수 있다.
docker push 커밋명
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F404a9fb6-ab9b-45cc-8074-ee63a3334890%252F4fdfd2b1-71aa-4c3a-a60b-675d2a360069%252FUntitled.png%3Ftable%3Dblock%26id%3Df2d6907e-5397-43e5-bfa7-9f5bce100794%26cache%3Dv2&w=3840&q=75)
![notion image](https://inblog.ai/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%253A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F404a9fb6-ab9b-45cc-8074-ee63a3334890%252F0ec70cb8-9701-4fa9-b54b-ca8d31a46553%252FUntitled.png%3Ftable%3Dblock%26id%3D09f9bb5b-d724-41e6-ba4a-6dfc0d1b0191%26cache%3Dv2&w=3840&q=75)
docker hub 에 이미지가 업로드 되었다.
Share article