오늘의 학습!!! 어제 배운 docker 두번째 시간!!!!
오늘은 dockerfile을 만들어 레시피처럼 작성 후 도커이미지 만들기!!!!

c : users 쪽에 dockerfile을 만들어 이렇게 적어주었구욥!!!
wsl 입력 후 docker build 를 통해 새로운 이미지를 형성하고 이름은 nginx_with_dockerfile 별칭은 01로 하게 되면!


이렇게 이미지가 생성 빠밤 😊
대박 신기... 똑똑하네요 ㅋㅋㅋㅋ 파일찾아서 잘 해주는군
확실히 이게 어제 이미지에서 컨테이너 생성하고 수정하고 다시 이미지만드는 방식보단
훨씬 간단하군 ^^

이렇게 만들어진 이미지를 통해 런을 하여 컨테이너를 만들면
요렇게 잘 런 되네요 ㅎㅎㅎ 그럼 이렇게 연결된 9090포트로 들어가보면!

이렇게 web server 등장!!!!!!ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ
신기해신기해

이 과정을 그림으로 설명하면

이렇게 내부적으로 처리한다는데..
되게 저에게 보여지는 건 간단한데 내부적으로 많은 일들이 있었네요 ㅋㅋㅋㅋ,,,
명령어가 실행될때 컨테이너를 생성하고 이미지 레이어로 커밋 > 이과정을 여러겹 쌓여서 하나의 이미지 생성!!!
이제 이미지를 내 docker hub에 업로드 하고 싶을땐?
docker desktop 로그인 후

docker images; 을 통해 이미지들을 볼 수 있고! 도커 데스크탑에서도 볼수있지만 ㅎㅎ
docker / tag / 이미지명:태그 / 원하는이미지명:태그
이렇게 작성하면?

이렇게 이미지에 뜨고 !

push to Hub를 누르면!

이렇게 hub에 띄워집니다!!!!!! 짝짝짝👍
Docker 주요 명령어
컨테이너 관련 명령어
docker run [옵션] 이미지
컨테이너를 생성하고 실행!!!
옵션
|

이렇게 it를 통해 명령어를 입력할 수 있는 도커의 exec에서 입력하는것처럼 동일하게 사용가능!!!

docker ps [옵션]
- 실행중인 컨테이너 목록 표시

docker ps 를 입력하면 status up인 상태만 확인 가능하지만,
-a 옵션을 사용하면 중지된 컨테이너 까지 확인 가능하다! 위에 표시된status를 보면 exited 까지 다 볼 수 있다!
docker stop 은 실행 중인 컨테이너 중지!

이렇게 stop을 사용하면 실행중 컨테이너 중지되고 start를 사용하면 다시 실행된다! ㅎㅎㅎㅎ
docker restart
docker restart [컨테이너 ID 또는 이름]
실행중인 컨테이너 다시 실행!
docker rm
docker rm [컨테이너 ID 또는 이름]
컨테이너 삭제!
docker attach
docker attach [컨테이너 ID 또는 이름]
실행중인 컨테이너의 터미널 접속 - 컨테이너 내에서 명령어 입력 후 실행 가능
docker commit
docker commit [컨테이너 ID 또는 이름] [새 이미지 이름]
실행 중인 컨테이너를 이미지로 저장!
요건 전날에 배웠을 때, 컨테이너 수정 후 실행상태에서 nginx_new 새로운 이미지를 저장하여
동일한 형태의 컨테이너를 만들 수 있는 거!!! 어제 배운 commit ㅎㅎ
이미지 관련 명령어
docker pull
docker pull [이미지 이름]
이미지를 다운 받는데 보통 docker hub에서 다운받는다!
어제 nginx 다운 받은 것처럼

검색 후 풀 받기 ㅎㅎ
docker images
docker images [옵션]
내가 다운로드한 이미지 목록을 표시한다.

이렇게 ㅎㅎㅎㅎ 이미지에 있는 것들 다 보여주네염 ㅎㅎ 여기서 옵션을 통해 목록을 필터링 할 수 있다는거!
docker build
docker build [옵션] [Dockerfile 경로]
build를 통해 Dockerfile을 이용해 이미지를 빌드! 했지요~~~
docker tag
docker tag [이미지 ID 또는 이름] [태그]
이미지 별칭같은거!!!!! ㅎㅎㅎ 이미지의 이름을 바꿀때도 사용!
태그를 지정하지 않으면 latest 로 지정된다는거!

하나는 지정하지 않았을 떄, 하나는 01로 지정했을때 !
Docker compose
여러개 묶어서 하나의 파일로 만든게 docker-compose.yml
즉 컴포즈란 여러개의 컨테이너를 하나의 묶음으로 관리할 수 있게 도와주는 도구
웹 어플리케이션을 테스트를 하기 위해 2개의 웹서버,데이터베이스 컨테이너를 실행해야할 때,
두개의 컨테이너를 하나로 묶여 두개 다 실행되는것!

도커 컴포즈 설치
docker-compose --version
docker desktop을 설치하면 자동으로 이미 설치되있네요!!ㅎㅎㅎ

이렇게 버전 잘 나오는걸 볼 수 있어욥!!! ㅎ!!

docker-compose.yml 예시 ㅎㅎㅎ
web과 db 두개의 서비스!!
컨테이너 이름 부터 볼륨까지! 쓸 수 있다아~~~~~~~~~~~~~~~~!!!
런할 때 우리가 작성한 볼륨 환경변수 설정 들이 docker-compose에서 사용이 된다는거!!!
오늘 도커에 대해 배웠는데엽!!!!!!!
왜 저번엔 우리 컴터가 에러를 겁나 띄웠는데 잘될까요??????????? 이유를모르겠지만 이대로만 유지해주렴 ㅎㅎㅎㅋㅋ
도커 은근 재밌네요 ㅎㅎㅎㅎㅎ
복습 후 스프링 책 읽으면서 공부 하러 떠나보겠습니다!!!
오늘도 열심히 공부했구!
내일도 파이팅 ㅎㅎㅎ🖍🖌😊

'[4기] 백엔드 개발자 부트캠프 "오르미" ~ing > [4기] 백엔드 개발자 부트캠프 오르미 수업 복습' 카테고리의 다른 글
| [4기] 108일차 TDD (Mockito) (2) | 2024.04.19 |
|---|---|
| [4기] 107일차 TDD (2) | 2024.04.17 |
| [4기] 105일차 Docker1 (0) | 2024.04.15 |
| [4기] 73일차 AWS( 클라우드 서버 (2) | 2024.03.14 |
| [4기] 64일차 SpringBoot(동적 페이지 구현) (0) | 2024.03.05 |