일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- pandas
- SAA
- crud
- 카톡
- MongoDB
- EC2
- socket io
- RDS
- Vue
- flask
- SSA
- 파이썬
- node
- 중급파이썬
- dict
- 채팅
- 튜플
- TypeScript
- wetube
- async
- git
- AWS
- NeXT
- react
- S3
- docker
- Class
- Props
- merge
- lambda
- Today
- Total
초보 개발자
docker 이미지 만들고 docker hub에 올려보기 ! 본문
docker 이미지 만들기🐳
Dockerfile 이라는 파일을 만들면 docker image를 만들 수 있다.
간단한 flask 앱을 만든 후에 이를 이미지에 담아보자!!
👉 FROM 이란 Docker image를 생성할 때 기본으로 사용할 base image를 적는 부분이다.
👉 ADD src dst 호스트 머신에 있는 파일이나 폴더를, dst라는 위치에 저장한다. 이름이 같다면 dst에 .이라고 적어도 됨 근데 templates도 .로 하면 될까해서 해봤는데 안에 있는 내용들이 다 꺼내져 있었음
👉 RUN script 는 script를 실행한다
👉 CMD 는 생성된 docker image를 실행할 때 자동으로 실행되는 커맨드이다.
이 후 아래의 명령어를 입력하면 image가 하나 생성이 된다.
docker build . -t app:verson1
. 은 현재 Dockerfile의 경로를 의미한다.
그리고 -t를 붙여서 태그를 만들어 줄 수 있다.
app:version1 이라고 했다면 app은 repository가되고 태그는 version1이 된다.
만약 앱이 수정이 된다면 app:version2 이런식으로 수정후 다시 이미지를 만들면 된다!
docker hub에 올리기🐳
docker 허브에 회원가입을 한 뒤에 깃 레포처럼 레포지토리를 하나 만들자 !!
하나 만들면 옆에 push하는 방법도 자세히 적혀있다.
먼저 터미널에서 docker login 을 하면 우리가 생성한 아이디와 비밀번호를 입력하라고 한다.
입력하면 login 성공! 이제 push할 수 있다. 반대로 로그아웃 하고싶다면 docker logout을 해주면 된다.
이 후에 우리가 아까 생성해둔 이미지를 push하면 되는데..
이미지 이름을 내아이디/내레포이름:태그 이런식으로 정해야 하는 것 같다.
이를 지키지 않고 push해보았는데 올라가지 않았지만 저기에 적힌대로 taehyeki/docker-ex:v1(태그는 맘대로)
이렇게 했더니 오류없이 잘 성공적으로 push된 것을 확인할 수 있다.
이 이미지를 다시 받아보자.
이를 위해서 기존에 있던 이미지를 삭제해보자
docker rmi taehyeki/docker-ex:v1 # rmi는 이미지를 삭제하는 명령어
docker pull taehyeki/docker-ex:v1 # pull을 하면 이미지를 받아올 수 있다.
이렇게 받아온 이미지를 실행해보자
docker run -d -p 8383:5000 --name manman taehyeki/docker-ex:v1
잘 실행이 되는 것을 확인할 수 있다 !!!
'AI 웹개발 트랙 - 내배캠 > 9주차 ~' 카테고리의 다른 글
docker network (0) | 2022.03.08 |
---|---|
docker bind mount (0) | 2022.03.08 |
docker 컨테이너 편집 (0) | 2022.03.07 |
docker network (0) | 2022.03.07 |
docker hub, pull, run (0) | 2022.03.07 |