도커를 간단하게 실습하고 다뤄볼 수 있는 환경을 원한다면, 도커 공식 홈페이지에서 제공하는 가상 환경을 이용하면 좋다.
오늘은 Play with Docker, 즉 PWD에 대한 가이드이다.
오늘 실습을 통해서 도커 CLI 환경과 명령어들을 이해할 수 있고 기본적인 기능을 알게 된다.
명령어 | 내용 |
docker images | 현재 시스템에 저장된 도커 이미지 목록을 표시하는 명령어입니다. 이 명령을 사용하면 로컬에 다운로드한 이미지 목록과 해당 이미지의 크기, 만들어진 날짜 및 시간 등의 정보를 확인할 수 있습니다. |
docker pull | 도커 이미지를 다운로드하는 명령어 |
docker ps | 현재 실행 중인 도커 컨테이너의 목록을 표시하는 명령어입니다. 이 명령을 사용하면 컨테이너의 상태, ID, 이름, 사용 중인 리소스 등의 정보를 확인할 수 있습니다. |
docker run | 도커에서 컨테이너를 생성하고 실행하는 명령어 |
-d 옵션 | 컨테이너를 detached 모드로 실행합니다. 이는 컨테이너가 백그라운드에서 실행되도록 합니다. |
-p 8001:80 | 호스트의 포트 8001을 컨테이너의 포트 80으로 매핑합니다. 즉, 호스트에서 http://localhost:8001로 접속하면 컨테이너 내의 Nginx 서버로 연결됩니다. |
-a | 모든 컨테이너를 포함하여 종료된 컨테이너도 포함하여 목록을 표시합니다. |
docker stop | 도커 컨테이너를 중지(stop)하는 명령어입니다. 이 명령어는 컨테이너를 강제 종료하지 않고 graceful하게 중지시킵니다. 컨테이너가 중지되면 해당 프로세스가 실행 중인 상태에서 멈춥니다. |
graceful | Graceful하게 중지된다는 것은 컨테이너가 종료될 때 해당 프로세스가 어떤 작업을 완료하도록 허용하고, 사용자에게 충분한 시간을 주어 컨테이너 내의 애플리케이션이나 서비스가 정상적으로 마무리되도록 하는 것을 의미합니다. 이는 컨테이너가 종료될 때 강제로 프로세스를 중단시키는 것보다 데이터 손실이나 불안정성을 줄일 수 있는 방법입니다. |
docker rm | 도커에서 컨테이너를 삭제하는 명령어입니다. 이 명령어를 사용하면 종료된 컨테이너를 제거하거나, 실행 중인 컨테이너를 중지하고 삭제할 수 있습니다. |
- https://www.docker.com/play-with-docker/
- docker 공식 사이트에서 웹 환경에서 Docker를 자유롭게 실습할 수 있는 환경을 제공하고 있다.
- Lab Environment → Get Started 로 실습을 시작할 수 있는데, 먼저 Docker 계정이 필요하다.
- docker 계정이 없다면 계정 생성 후 실습을 진행할 수 있다.
- 세션을 시작하게 되면 4시간의 시간이 주어지게 되며 할당된 시간이 끝나면 Close 된다.
- ADD New instance로 인스턴스를 생성할 수 있다.
- Docker 명령어는 대체적으로 리눅스 환경과 유사한 명령어의 형태를 보이고 있다. 따라서 리눅스 환경과 명령이 익숙하다면 다루기 더욱 쉽다.
- docker images 명령어는 현재 시스템에 저장된 도커 이미지 목록을 표시하는 명령어이다. 이 명령을 사용하면 로컬에 다운로드한 이미지 목록과 해당 이미지의 크기, 만들어진 날짜 및 시간 등의 정보를 확인할 수 있다.
- docker pull nginx:1.23.1-alpine 명령어는 도커 허브(Docker Hub)에서 nginx 이미지의 특정 버전(1.23.1) 및 태그(alpine)를 다운로드하는 명령어이다.
- alpine은 Alpine Linux 기반의 경량화된 버전의 이미지를 사용한다는 것을 의미한다. Alpine Linux는 경량화되어 있어 이미지 크기가 작고, 보안 측면에서도 우수한 것으로 알려져 있다.
- 이 가상 환경에서 자유롭게 도커를 다뤄보고 도커에 대해 익숙해질 수 있다.
docker run -d -p 8001:80 --name=webserver1 nginx:1.23.1-alpine
- 실행 결과로 컨테이너는 백그라운드에서 실행되며, 지정된 포트 매핑에 따라 호스트 시스템의 8001 포트로 Nginx 웹 서버에 접속할 수 있게 된다. 이는 실제 컨테이너가 운영 중이며, 8001 포트로 접속 시 nginx 웹 서버를 확인할 수 있음을 의미한다.
- OPEN PORT → 8001
- Welcome to nginx 사이트로 접속되는 것을 확인할 수 있다.
- curl 명령어로 로컬 CLI 환경에서도 nginx 컨테이너를 확인할 수 있다.
- docker ps -a 옵션으로 컨테이너 상태를 확인할 수 있다.
- Up: 컨테이너가 현재 실행 중인 상태. Up 다음에는 컨테이너가 실행된 시간이 표시된다.
- Exited: 컨테이너가 종료된 상태. Exited 다음에는 컨테이너가 종료된 시간이 표시된다. 종료 코드가 0이면 정상적으로 종료되었다는 의미이다. 종료 코드가 0이 아니면 해당 코드를 따라 비정상적으로 종료된 것을 나타낸다.
- docker stop: 도커 컨테이너를 graceful하게 중지시키는 명령어
- 프로세스만 죽었기에 스냅샷까지 제거하려면 docker rm을 사용한다.
- 컨테이너를 삭제하고 싶다면 반드시 stop을 거친 이후 rm 명령어를 사용해야 한다.
'Docker' 카테고리의 다른 글
Docker란 무엇인가? (2) | 2024.02.11 |
---|