https://www.docker.com/get-started/
우측 중앙 Download 버튼을 눌러서 다운로드 받는다. 본인 CPU, 운영체제 등에 맞게 다운로드 하면 된다.
난 Window 운영체제에 AMD CPU라서 저렇게 다운받았다.
다운받은 후 설치는 쉽다. 권장사항으로 쭉쭉 설치하고 마지막에 재부팅을 한번 하면 끝이다.
설치가 끝난 후 설문조사가 있는데 대충 체크하고 넘어가면 바로 도커를 사용해볼 수 있다.
아 그리고 중간에 hosts 파일이 변조되었다고 뭐라 뜰 수도 있는데 그냥 그대로 진행하면 된다. 변조된 거 유지한 상태로 그냥 진행하라는 뜻이다. 도커에서 한 거니까.
설치가 끝나면 대략 이런 화면이 나온다. GUI로 컨테이너를 실행시킬 수도 있지만 난 CLI가 편하니 CLI로 하겠다.
리눅스 명령어 사용을 위해 Git Bash를 실행한다.
docker run -d -p 8080:80 docker/welcome-to-docker
컨테이너를 실행하는 명령어다. 뜻은 아래와 같다.
docker run -> 컨테이너 실행
-d -> 백그라운드에서 실행
-p 8080:80 -> 호스트의 8080포트로 오는 요청을 도커 80번 포트로 포워딩(보낸다)
docker/welcome-to-docker -> 실행할 컨테이너 이미지 이름
만약 해당 이미지가 로컬에 존재하지 않는다면 docker hub에서 자동으로 다운로드한 후 실행한다.
Digest는 무결성 검사를 위한 해시값을 의미하며,
Status 부분은 이미지를 성공적으로 다운로드 했다는 걸 의미한다.
docker ps
실행중인 컨테이너 상태를 확인하는 명령어다.
CONTAINER ID -> 컨테이너 고유 id
IMAGE -> 컨테이너에서 실행중인 이미지 이름
COMMAND -> 컨테이너가 실행될 때 사용한 명령어. 생략된 상태이다
CREATED -> 컨테이너가 생성된 시간
STATUS -> 현재 상태, 3분 동안 실행 중
PORTS -> 호스트 8080포트로 오는 것을 도커 80번(TCP)포트로 보낸다
NAMES -> 컨테이너 이름 ( 임의로 정해진다 )
컨테이너가 정상적으로 실행되었으니 웹으로 접속하여 확인해 보자.
localhost:8080
또는
127.0.0.1:8080
으로 접속하면 된다. localhost와 127.0.0.1 모두 호스트 자기 자신을 의미하는 루프백 주소이다. 즉, 내 컴퓨터의 8080포트로 접속한 것이다. 아까 호스트 8080포트로 접속하면 도커 80번 포트로 포워딩된다고 했으니, 결과적으로 도커의 80번(HTTP, 웹) 포트로 접속하여 웹 사이트에 접속 성공한 것이다.
우리가 처음에 다운로드하고 실행한 docker/welcome-to-docker 이미지는 이렇게 환영 메시지를 담은 간단한 웹사이트를 서비스하는 이미지이다. 따라서 이런 웹사이트가 출력되었다.
docker desktop GUI 프로그램에서 확인했을 때도 컨테이너가 가동중인 것을 알 수 있다. Running이라고 쓰여 있다.
컨테이너는 종료시키지 않으면 백그라운드에서 끝없이 가동된다. 사용하지 않을 것이라면 컨테이너를 종료시키자.
docker stop {컨테이너 고유 ID}
이 명령어도 해당 컨테이너를 종료시킬 수 있다.
위쪽 docker ps 결과를 보면 컨테이너 ID가 7d20bc1e3dd9 인걸 확인할 수 있다. 사실 저거보다 훨씬 더 긴데 저것도 생략된 것이다. 컨테이너를 종료하려면 이 고유 ID를 입력해야 하는데, 전부 입력할 필요 없이 고유하게 구분할 수 있도록 적당히 적어주면 된다. 나는 7d20b 5글자만 적었다. Git의 커밋 ID와 비슷하다.
다시 docker ps 명령어로 확인해 보면 실행중인 컨테이너가 없는 것을 확인할 수 있다.
docker desktop에서는 Exited로 표기되는 것을 확인할 수 있다.