목차
개요
도커 공식홈페이지에서 지원해주는 get_started Tutorial 파일을 가지고 도커를 다뤄보자!
본 포스팅은 아래의 도커 공홈에서 지원해주는 튜토리얼을 토대로 포스팅하였음
https://docs.docker.com/get-started/
도커 이미지를 생성했던 소스파일을 수정한다.
본 튜토리얼에서 제공해주는 프로젝트 중 src/static/ks/app.js의 56번째 줄의 텍스트를 아래와 같이 수정한다.
...
- <p className="text-center">No items yet! Add one above!</p>
+ <p className="text-center">You have no todo items yet! Add one above!</p>
...
다시 docker bulild 를 해주고
docker build -t getting-started .
새로운 컨테이너를 시작을 하여 업데이트를 해준다.
docker run -dp 3000:3000 getting-started
기존 :3000 에서는
출력되는 값이 바뀌는 것을 확인할 수 있고 코드 업데이트에 따른 도커 이미지를 성공적으로 수정하였다.
만약에
docker: Error response from daemon: driver failed programming external connectivity on endpoint laughing_burnell
(bb242b2ca4d67eba76e79474fb36bb5125708ebdabd7f45c8eaf16caaabde9dd): Bind for 0.0.0.0:3000 failed: port is already allocated.
위와 같은 문제가 발생된다면 기존에 :3000번대에 할당되었던 도커 컨테이너가 존재하고 있어서 일어나는 문제이므로 기존의 도커의 실행을 멈추고 만일 :3000 번 포트를 사용할 것이라면 도커 컨테이너를 지워주는 작업이 필요하다.
도커 컨테이너 실행 리스트, 정지, 삭제
먼저 현재 실행되고 있는 도커 리스트를 보기 위해서는 ps (process status) 를 통하여 확인이 가능하다.
docker ps
현재 실행되고 있는 도커들의 리스트가 보이게된다. 만일 stop 이 된 도커까지 보기 위해서는 -a (all) 옵션을 통해서 확인이 가능하다
임의로 실행시켰던 hello-world가 정지되어있고 -a 옵션을 가진 process status 명령어에서만 보이는 것을 확인 할 수 있다.
또한 정지된 도커 컨테이너의 경우에는 STATUS가 Exited(0)으로 표시가 되는 것을 확인이 가능하다.
그럼 이제 실행되고 있었던 getting-started 프로세스 또한 배포 정지를 해보자
docker stop <the-container-id>
이때 container-id 는 터미널 창의 가장 첫번째 12자리의 ID이다.나같은 경우에는
docker stop 384edf1c645b
으로 정지가 가능하다 그 결과는 아래에서 확인이 가능하다.
또한 도커의 삭제는 rm(remove) 옵션을 사용하여 배포 정지된 컨테이너를 삭제할 수 있다.
docker rm <the-container-id>
혹은 배포되고 있는 컨테이너를 정지시키고 삭제하기 위해서는 rm -f (force) 옵션을 이용하여 정지 후 삭제 시킬수 있다.
docker rm -f <the-container-id>
정상적으로 도커 컨테이너가 삭제된것을 확인 할 수 있다.
마무리
다음 포스팅에서는 도커가 가진 소스 코드를 업데이트해보고 만든 자신의 도커 이미지를 push 하여 업로드 하는 법과 새로 만든 이미지를 새로운 환경에 가져와서 실행하는 방법을 알아보자
'Docker' 카테고리의 다른 글
튜토리얼(4) 볼륨 마운트(Volume mount)로 Persist DB관리 (0) | 2023.01.21 |
---|---|
튜토리얼(3) Docker Hub를 통해서 이미지 배포, 다른 환경에서 실행 (0) | 2023.01.19 |
튜토리얼(1) Dockerfile 생성, 컨테이너 이미지 만들기 (0) | 2023.01.16 |
튜토리얼(0) Ubuntu 환경에 도커 설치하기 (0) | 2023.01.09 |
[ERROR해결] Cannot connect to the Docker daemon at unix:///var/run/docker.sock (0) | 2023.01.09 |