도커 사용법 기본개념
도커를 사용하는 가장 기본적인 흐름은 다음과 같습니다.
- 이미지 다운로드: 필요한 이미지 도커 허브(레지스트리)에서 찾아 다운로드합니다.
- 컨테이너 실행: 다운로드한 이미지를 이용해 '컨테이너'라는 독립된 공간을 만들고 실행합니다.
- 컨테이너 관리: 실행 중인 컨테이너의 상태를 확인하고 필요에 따라 중지하거나 삭제합니다.
도커 허브? 및 설정하기(Registry)
도커 허브란 도커에서 제공하는 컨테이너 이미지 레지스트리 서비스입니다. 이미지를 제공하고,관리하고 다운로드 할 수 있는
레지스트리입니다. 또한 도커 사설 레지스트리 (Private Registry) 를 별도로 운영하여 개인적인 소스코드 이미지등을 관리할 수 있는 허브를 제공합니다.
1. 도커 허브 계정 생성
먼저, 웹사이트에서 회원가입을 해야 합니다.
URL: https://hub.docker.com/ 에 접속하여 회원가입
2. 로그인
계정을 만들었다면, 이제 내 컴퓨터에서 도커 허브에 접속할 차례입니다.
docker login 명령어를 사용
$ docker login
명령어를 입력하면, 터미널이 사용자 이름과 비밀번호를 차례로 물어봅니다.
도커 사이트에서 가입한 사용자 이름과 비밀번호를 입력하면, Login Succeeded라는 메시지가 뜨면서 로그인이 완료됩니다.
WARNING! Your password will be stored unencrypted in /home/lainyzine/.docker/config.json.
Configure a credential helper to remove this warning.
See https://docs.docker.com/engine/reference/commandline/login/#credentials-
Login Succeeded
내가 만든 이미지 도커 허브에 올리기
로그인을 완료했다면, 이제 내가 만든 이미지를 도커 허브에 공유할 수 있습니다. 이미지를 올리는 것을 '푸시(Push)'라고 부릅니다.
1. 이미지(Image) 이름 지정하기 (Tagging)
도커 허브에 이미지를 올리려면, [사용자 이름]/[저장소 이름]:[태그] 형식으로 이름을 바꿔줘야 합니다.
$ docker tag my-app:latest myusername/my-app:1.0
- docker tag 명령어를 사용해 새로운 이름을 지정해 줍니다.예를 들어, my-app 이라는 이미지를 만들었고, 내 도커 허브 사용자 이름이 myusername이라면..
- my-app:latest : 현재 내 컴퓨터에 있는 이미지 이름과 태그/
- -myusername/my-app:1.0 : 도커 허브에 올릴 때 사용할 새로운 이름
2. 이미지(Image) 푸시하기 (Push)
이름을 변경한 이미지를 도커 허브에 올립니다.
- docker push 명령어를 사용합니다.
-
$ docker push myusername/my-app:1.0 - 이 명령어를 실행하면, 이미지가 도커 허브에 업로드됩니다.
프라이빗(Private) 레지스트리
도커 허브 외에, 회사나 조직 내부에서만 사용하는 비공개 저장소를 만들 수도 있습니다. 이를 프라이빗 레지스트리라고 부릅니다.
- 로그인 방법: docker login 명령어 뒤에 레지스트리 주소를 입력합니다.
$ docker login [레지스트리 주소]
사용 목적: 보안을 위해 외부에 공개되지 않는 중요한 이미지를 관리하거나, 내부 협업을 효율적으로 하기 위해 사용합니다.
필수 도커 명령어 총정리
1. 이미지(Image) 관련 명령어
- docker pull [이미지 이름]
- 설명: 도커 허브에서 원하는 이미지를 다운로드합니다.
$ docker pull nginx
- 설명: 도커 허브에서 원하는 이미지를 다운로드합니다.
- docker images
- 설명: 내 컴퓨터에 다운로드된 이미지 목록을 보여줍니다.
$ docker images
- 설명: 내 컴퓨터에 다운로드된 이미지 목록을 보여줍니다.
- docker rmi [이미지 이름 또는 ID]
- 설명: 다운로드된 이미지를 삭제합니다. 컨테이너가 실행 중인 이미지는 삭제할 수 없습니다
-
$ docker rmi nginx
2. 컨테이너 관련 명령어
컨테이너는 이미지로부터 만들어진 '실행 중인 프로그램'입니다.
- docker run [옵션] [이미지 이름]
이미지를 이용해 컨테이너를 만들고 실행합니다. 도커의 가장 핵심적인 명령어입니다.- 자주 쓰는 옵션:
- -d: 컨테이너를 백그라운드에서 실행합니다. (떼어내기, Detached mode)
- -p [외부 포트]:[내부 포트]: 컨테이너의 포트를 외부와 연결합니다. (Port forwarding)
- --name [이름]: 컨테이너에 알아보기 쉬운 이름을 붙여줍니다.
nginx 컨테이너를 만들고, 80번 포트를 컴퓨터의 8080번 포트와 연결하여 백그라운드에서 실행$ docker run -d -p 8080:80 --name my-nginx nginx
- 자주 쓰는 옵션:
- docker ps
현재 실행 중인 컨테이너 목록을 보여줍니다. -a 옵션을 붙이면 모든 컨테이너(실행 중 + 정지된)를 볼 수 있습니다.$ docker ps - docker stop [컨테이너 이름 또는 ID]
실행 중인 컨테이너를 정지합니다.$ docker stop my-nginx - docker rm [컨테이너 이름 또는 ID]
설명: 정지된 컨테이너를 삭제합니다. (실행 중인 컨테이너는 먼저 stop해야 합니다.)$ docker rm my-nginx
예제: 나만의 웹 서버 띄우기
위의 명령어들을 이용해 간단한 웹 서버를 띄워보기.
- Nginx 이미지 다운로드:
-
$ docker pull nginx - 컨테이너 실행 및 포트 연결:이 명령어를 실행하면 nginx 컨테이너가 백그라운드에서 실행됩니다. 내 컴퓨터의 8080번 포트로 들어오는 요청을 컨테이너의 80번 포트로 보내게 됩니다.
$ docker run -d -p 8080:80 --name my-nginx nginx - 브라우저 확인:
웹 브라우저를 열고 주소창에 http://localhost:8080을 입력
화면이 출력이 되는지확인 - 컨테이너 정지 및 삭제
서버를 멈추고 삭제
$ docker stop my-nginx
$ docker rm my-nginx
'Cloud > 컨테이너(Container)' 카테고리의 다른 글
| 도커(Docker)란 무엇일까? (0) | 2025.09.05 |
|---|