Docker #1

임상규·2023년 9월 23일
1

Docker

목록 보기
1/3
post-thumbnail

Docker 란

도커는 컨테이너 기술을 기반으로 한 일종의 가상화 플랫폼이다.
가상화란 물리적 자원인 하드웨어를 효율적으로 활용하기 위해서 하드웨어 공간 위에
가상의 머신을 만드는 기술이다.
즉, VM이라고 이해하면 된다.

컨테이너란 컨테이너가 실행되고 있는 호스트 OS의 기능을 그대로 사용하면서
프로세스를 격리해 독립된 환경을 만드는 기술을 뜻한다.

컨테이너 환경에서 독립적으로 애플리케이션을 실행할 수 있도록 컨테이너를 만들고 관리하는 것을 도와주는 도구라고 할 수 있다.

기존에는 서버 pc마다 환경이 다르고, 매번 환경변수, Dependencies 설정해주는 것이
매우 힘들다.
그렇기에 서버, pc마다 버전 차이 등의 이유로 실행 결과가 달라지는 문제 발생한다.

이 문제를 해결하기 위해 App 구성, runtime 환경에서 필요한 요소들을 모아서 Packaging하는 것을 도와주는 것이 Docker인 것이다.

Docker의 개념

Git, Github와 같은 개념이다.

Local에서 Dockerfile 생성, 빌드한다.
이렇게 되면 도커 Image 생성되는데 이것은
Docker hub로 Push한다.
서버에서 활용하기 위해서 Push한 Image를 Pull하여 사용한다.

기본 명령어

이미지 다운로드

docker pull <이미지 이름>

서버에 이미지를 받기 위한 명령어이다.
Docker hub에서 다운받을 이미지를 확인한 후 pull하여 실행한다.

이미지 실행

docker run <이미지 이름>

pull한 이미지를 실행하는 명령어이다.
위와 같은 방식으로 이미지를 실행하면 도커 자체에서 무작위 이름을 붙여 실행하여
실행중인 컨테이너를 확인할 때 혼란이 발생할 수 있다.

따라서

docker run --name <실행할 이미지에 붙일 이름> <이미지 이름>

실행할 때 미리 컨테이너 이름을 붙이고 실행한다.
또 특정 이미지는 생성하는 순간 바로 이미지에 들어가서 구동 상태를 보게되는데
생성만 하고 따로 확인하고 싶지 않은 경우 -d 옵션을 통해 나올 수 있다.

컨테이너 포트를 지정하고 실행할 수도 있다.

docker run --name <실행할 이미지에 붙일 이름> -p 포트:포트 <이미지 이름>

위와 같이하면 포트를 지정할 수 있다.

실행중인 컨테이너 확인

docker ps

실행중인 컨테이너 목록을 확인할 수 있는 명령어이다.

docker container ls

도 같은 기능으로 동작한다.

전체 컨테이너 확인

docker ps -a

-a 옵션을 통해 가동중, 멈춘 컨테이너까지 전부 확인할 수 있다.

컨테이너 종료 (중지)

docker stop --name <이미지 이름 or 컨테이너 ID>

이미지 이름이나 컨테이너 ID로 컨테이너를 중지시킬 수 있다.
컨테이너 ID는 ps 명령어를 통해 확인할 수 있다.

컨테이너 삭제

docker rm <이미지 이름 or 컨테이너 ID>

중지시킨 컨테이너를 삭제할 때 사용하는 명령어이다.
구동중인 컨테이너는 삭제할 수 없다.

로그 확인

docker logs <이미지 이름 or 컨테이너 ID>

컨테이너 로그를 확인할 수 있다.

docker logs -f <이미지 이름 or 컨테이너 ID>

-f 옵션을 주면 실시간 로그를 확인할 수 있다.

컨테이너 이름 변경

docker rename <현재 이름> <바꾼 이름>

처음 이미지를 실행할 때 붙인 이름을 바꿀 수 있다.

디스크 사용량

docker system df

디스크 사용량을 확인할 수 있다.

이미지 삭제

docker rmi <이미지 이름>

다운받은 이미지를 삭제할 수 있다.

profile
Junior DevOps Engineer

0개의 댓글