Docker Desktop이란?
- Docker 플랫폼의 데스크톱 버전
- GUI (그래픽 사용자 인터페이스) 제공하여 Docker 컨테이너를 쉽게 생성, 실행, 관리 가능
Docker Desktop 제공 기능
컨테이너 생성 및 실행 | Docker Hub에서 이미지를 다운로드하거나 직접 빌드하여 컨테이너 생성 및 실행 가능 |
컨테이너 관리 | 컨테이너 시작, 중지, 재시작, 삭제 가능 컨테이너의 상태 모니터링 및 로그 확인 가능 |
컨테이너 네트워킹 | 컨테이너 간 네트워크 연결 가능 |
컨테이너 보안 | 컨테이너의 보안 강화 가능 |
Docker Desktop 설치
1. 아래 사이트에 접속
https://docs.docker.com/get-docker/
Get Docker
Download and install Docker on the platform of your choice, including Mac, Linux, or Windows.
docs.docker.com
설치하려는 운영체제에 맞는 버전을 선택하여 다운로드 진행
2. 설치파일 실행
설치된 파일을 실행시키면
이렇게 진행되며 최종적으로 설치가 완료된다.
3. 설치 확인 및 실행
Windows 기준으로,
Powershell을 열어 docker version이라는 명령어를 실행시킨다.
정상적으로 설치가 되었다면 이런 식으로 클라이언트와 서버 관련 정보가 뜨는 것을 확인할 수 있다.
설치하는 과정에서 오류가 발생해서 해결했는데 그 과정은
https://jinnycoding.tistory.com/83
[Docker] Docker Desktop - Unexpected WSL error 및 해결 (코딩온 온라인 강의)
강의를 수강하며 Docker를 설치하고 제대로 설치가 되었는지 확인하는 과정에서 처음에는 위 사진과 같이 버전이 뜨지 않았는데, 이건 재부팅을 하니 정상적으로 실행되었다. 알고 보니 설치가
jinnycoding.tistory.com
여기에 기록해두었다.
Image와 Comtainer 관계
위 그림과 같이 Docker는
1) Docker Hub에서 pull 명령어를 통해 이미지를 가져오고,
2) run 명령어로 이미지를 사용해 컨테이너를 실행한다.
컨테이너 실행
1. CLI
1) Nginx 이미지 불러오기
Powershell에서
docker pull nginx:latest
명령어를 실행시킨다.
해당 명령어는 Docker Hub에서 최신 버전의 Nginx 이미지를 가져온다.
특정 버전의 이미지를 다운로드하기 위해서는
docker pull nginx:1.25.3
이런 식으로 콜론 뒤에 버전을 입력하면 된다.
이미지가 잘 설치되었는지 확인하기 위해서는
docker images
명령어로 받은 이미지 목록을 확인할 수 있다.
2) Docker 컨테이너 실행
docker run -d --name nginx-ws -it -p 80:80 nginx:latest
명령어를 통해 Docker 컨테이너를 실행시킬 수 있다.
자세히 알아보자면
-p 80:80 | 호스트의 80번 포트로 유입되는 트래픽을 Container의 80 포트로 전달되도록 함 Nginx의 기본 설정 포트 : 80 |
-d (daemon) | 컨테이너를 백그라운드에서 실행하도록 함 |
--name | 컨테이너 이름을 설정 (위 명령어에서는 nginx -ws 라는 이름으로 설정) |
이렇게 나눠어 볼 수 있다.
docker ps 명령어를 입력해 실행 중인 컨테이너를 확인할 수 있다.
지정한 이름과 포트 등이 지정된 것이 보인다.
3) 브라우저 접속
브라우저에 80번 포트로 접속하면 실행 중인 컨테이너를 확인해볼 수 있다.
4) 컨테이너 중지 및 삭제
docker stop {컨테이너 이름} 명령어로 실행중인 컨테이너를 중지,
docker rm {컨테이너 이름} 컨테이너를 삭제할 수 있다.
2. Docker Desktop
1) Docker Hub에서 MySQL 이미지 가져오기
docker pull mysql:latest
명령어를 실행시키면 마찬가지로 설치가 된다.
2) 설치한 이미지 확인
Docker Desktop에서 좌측 두 번째 탭 Images 탭으로 이동 시,
위에서 CLI로 설치한 nginx와 방금 설치한 mysql 이미지를 확인할 수 있다.
3) 컨테이너 실행
docker run --name mysql-db -e MYSQL_ROOT_PASSWORD=1234 mysql
위 명령어로 컨테이너를 실행시킨다.
mysql-db를 이름으로 지정하고,
-e 옵션으로 컨테이너의 비밀번호 값을 지정해 주었다.
이때, MYSQL_ROOT_PASSWORD 환경 변수로 암호를 설정하지 않을 시 컨테이너를 시작하지 못한다고 한다.
Docker Desktop의 Container 탭에서 컨테이너가 잘 실행되고 있는 것을 확인할 수 있다.
4) Exec 탭
mysql-db 컨테이너 클릭 후 Exec 탭으로 이동한다.
Exec 탭은 실행 중인 컨테이너에 명령을 실행하는 터미널이다.
mysql -u root -p 명령어 실행 후 비밀번호를 입력하면 MySQL에 접속된다.
Docker 명령어 정리
docker version | Docker 클라이언트 및 서버 버전 표시 |
docker info | Docker 설치 상태 및 정보 표시 |
docker help | Docker 명령어 도움말 표시 |
docker pull | Docker Hub에서 이미지 pull |
docker push | Docker Hub에 이미지 push |
docker images | Docker 이미지 목록 표시 |
docker search | Docker Hub에서 이미지 검색 |
docker run | 이미지를 사용해 컨테이너 실행 |
docker stop | 컨테이너 중지 |
docker start | 중지된 컨테이너를시작 |
docker restart | 실행 중인 컨테이너를 재시작 |
docker ps | 실행 중인 컨테이너 목록을 표시 (-a 옵션: 모든 컨테이너 목록 표시) |
docker logs | 컨테이너 로그 표시 |
docker kill | 컨테이너 강제종료 |
docker rm | 컨테이너 삭제 |
'Docker' 카테고리의 다른 글
[Docker] Docker 배포_Spring Boot 프로젝트 (코딩온) (0) | 2024.01.02 |
---|---|
[Docker] Docker 배포_React 프로젝트 (코딩온) (1) | 2023.12.30 |
[Docker] Dockerfile에 대해 (코딩온) (1) | 2023.12.28 |
[Docker] Docker Desktop - Unexpected WSL error 및 해결 (코딩온) (0) | 2023.12.24 |
[Docker] Docker란? (코딩온) (1) | 2023.12.23 |