일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- RDS
- Vue
- EC2
- SSA
- crud
- flask
- docker
- 중급파이썬
- NeXT
- merge
- lambda
- TypeScript
- S3
- 파이썬
- dict
- react
- node
- Props
- Class
- MongoDB
- 카톡
- async
- 튜플
- wetube
- AWS
- socket io
- SAA
- git
- pandas
- 채팅
- Today
- Total
초보 개발자
docker hub, pull, run 본문
docker hub
우리가 어떤 프로그램을 설치하려고할 때 app store에서 받을 것이다.
이처럼 도커에서는 docker hub에서 우리가 원하는 걸 다운로드하고 다운받은 것을 image라고 한다.
그리고 image를 실행하는 것을 container라고 한다. 그리고 한 image는 여러개의 container를 가질 수 있다.
pull
docker hub에서 image를 다운받는 행위를 pull이라고 한다.
image를 실행시키는 행위를 run이라고 한다. run을 하게 되면 image가 컨테이너가 되고, 그 컨테이너가 실행되면서 컨터에 있는 프로그램이 실행이 된다.
Explore Docker's Container Image Repository | Docker Hub
이 사이트에서 어떠한 image들이 있는지 확인할 수 있다. official image라고 적힌 것은 도커에서 관리되고 있다는 점을 명시해 준다.
강의에서는 apach를 사용해 웹서버를 만들어보려고 하기에 httpd라는 imgae를 받아주자
docker에서 image를 받아올 때는 아래의 명령어를 사용한다.
docker pull httpd
설치된 images를 확인하는 방법은 아래와 같다.
docker images
docker desktop에서는 아래와 같이 확인할 수 있다.
run
설치된 image에 마우스를 갖다 대면 run이라는 실행상자가 나타난다.
바로 run을 할 수도 있지만 옵션을 줄 수도 있다. container의 이름을 지정한 뒤 run을 눌러보자
컨테이너를 눌러보면 로그창이 뜨면서 컨테이너 안의 프로그램들이 실행이 되고있다.
stats를 누르면 현재 도커가 사용하고 있는 자원량을 나타내고 정지버튼을 누르면 정지, 쓰레기통 버튼을 누르면 삭제가 된다.
삭제를 하고 이번에는 command라인에서 설치를 해보자
아래의 명령어를 입력하면 image에서 컨테이너를 만들고 실행시킨다.
docker run httpd
docker ps
아래의 명령어를 입력하면 우리가 만든 컨테이너들이 나타난다.
docker ps
하나의 image는 여러개의 container를 만들 수 있다.
이번에는 옵션을 주어서 이름을 지정해주자
docker stop
실행중인 컨테이너를 멈추고 싶다면
docker stop container # 컨테이너 이름을 적음, 혹은 아이디를 적어도 됨
실행중이던 webserver2가 꺼진 것을 확인할 수 있다.
docker ps를 입력해보면 더이상 webserver2는 나타나지 않는다.
그렇다고 삭제가 된 것은 아니다.
docker ps -a
아래의 명령어를 사용하면 모든 컨테이너를 나타내준다.
docker ps -a
그리고 이걸 다시 실행시키려면 docker run이 아니라, docker start webserver2라고 적어주어야 한다.
잘 나타나는 것을 확인할 수가 있다.
docker logs
근데 아까와는 다르게 로그창은 나타나지 않는다.
따라서 로그를 확인하고 싶다면 아래의 명령어를 사용해주자
docker logs CONTAINER # 있던 로그만 출력하고 꺼짐
docker logs -f CONTAINER # 있던 로그도 출력하고 상태를 계속 watch함 실시간 출력 가능
docker rm
그럼 이제 컨테이너를 삭제하려면 어떻게 해야할까??
docker rm CONTAINER
하지만 실행중인 컨테이너를 삭제하려고하면 아래와 같은 오류가 발생한다 따라서.
stop을 해준 뒤 삭제를 하고 컨테이너를 확인해보자 잘 삭제된 것을 확인할 수 있을 것이다.
docker rm --force CONTAINER 하면 실행중인 것을 강제로 삭제할 수 있다.
image 삭제
imgae를 삭제하는 방법은 GUI에서는 아래와 같다.
CMD에서는 아래의 명령어를 사용하자
docker rmi IMAGE
'AI 웹개발 트랙 - 내배캠 > 9주차 ~' 카테고리의 다른 글
docker 컨테이너 편집 (0) | 2022.03.07 |
---|---|
docker network (0) | 2022.03.07 |
docker란? docker설치 (0) | 2022.03.07 |
동기 비동기에 대한 고찰.... (0) | 2022.03.04 |
팀과제 그림제작 페이지 (1) | 2022.03.03 |