Docker 기본

신민창·2021년 3월 3일
0

Docker

목록 보기
1/6

DOCKER

Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼입니다. Docker는 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있습니다. Docker를 사용하면 환경에 구애받지 않고 애플리케이션을 신속하게 배포 및 확장할 수 있으며 코드가 문제없이 실행될 것임을 확신할 수 있습니다.

이 Docker에 대한 기본 내용들을 작성해볼려고 합니다.

먼저 구성 환경으로는 GCP - VM 인스턴스 Ubuntu:18.04 버전으로 진행합니다.

먼저 생성한 VM 인스턴스를 구글 SSH를 통해서 접속한 후 ROOT 사용자로 로그인합니다.

docker 설치

가장 먼저 Docker를 설치해보겠습니다.
설치 코드로는

# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

# apt-get update

# apt-get install docker-ce

설치가 완료됐으면

#docker info

를 입력하여 docker가 정상적으로 설치됐는지 확인할 수 있다.

docker 이미지와 컨테이너

도커 엔진에서 사용하는 기본 단위는 이미지와 컨테이너이며 이 두가지가 도커 엔진의 핵심입니다.

docker 이미지

이미지는 컨테이너를 생성할 때 필요한 요소이며 가상 머신을 생성할 때 사용하는 iso 파일과 비슷한 개념입니다. 이미지는 도커 명령어로 내려받을 수 있으므로 별도로 설치할 필요가 없습니다.

docker images 생성

# docker imgaes

를 입력하면 현재 도커 엔진에 존재하는 이미지의 목록을 출력합니다.

아무 것도 없음

docker이미지를 다운받기 위해서는

#docker pull ubuntu:18.04

를 입력하면 됩니다.

ubuntu:18.04 이미지 다운로드 및 설치된 이미지 확인

docker 컨테이너

docker 이미지는 우분트, centOS, Apache, nginx 등 다양한 운영체제부터 빅데이터 분석 도구까지 많은 종류가 있습니다. 이러한 이미지로 컨테이너를 생성하면 해당 이미지의 목적에 맞는 파일이 들어 있는 파일시스템과 격리된 시스템 자원 및 네트워크를 사용할 수 있는 독립된 공간이 생성되고, 이것이 바로 도커 컨테이너가 됩니다.
컨테이너를 여러개 설치해도 각 컨테이너끼리 혹은 호스트에는 서로 아무런 영향을 주지 않습니다.

docker 컨테이너 생성

docker run -i -t --name hellodocker ubuntu:18.04

이렇게 입력하면

해당 컨테이너 내부로 들어가는 것을 볼 수 있다.
exit를 입력하여 외부로 나올 수 있다. (Ctrl + P + Q = 컨테이너를 중지하지 않고 빠져나오기)

docker ps -a 모든 도커 컨테이너 확인 명령어

를 입력하면

생성된 도커 컨테이너의 정보를 볼 수 있다.

다시 생성한 컨테이너 내부로 들어가기 위해서는

docker start hellodocker (도커 컨테이너 이름)

을 입력한 후

docker attach hellodocker

를 입력하면

다시 도커 컨테이너 내부로 들어오는 것을 확인할 수 있다.
해당 컨테이너 내부에서 어느 명령어를 입력하든 기존 호스트에는 아무런 영향이 가지 않는 것을 볼수 있다. 예를 들어 컨테이너 내부에 mypaint를 설치한 후

exit 입력하여 호스트로 이동 후 확인해보면

도커 컨테이너 내부 명령어가 적용되지 않은 것을 볼 수 있다.

도커 컨테이너를 시작할 때 이미지를 미리 다운받지 않아도 바로 컨테이너를 만들 수 있다.
centos7으로 만들어 보면

# docker create -i -t --name hellocentos centos:7

를 입력하면 바로 centos:7에 대한 이미지가 다운이되면서 컨테이너가 생성된다.

docker ps -a로

생성된 컨테이너를 확인할 수 있다.

삭제

사용하지 않는 컨테이너를 삭제할 때는 docker rm 명령어를 사용합니다. 한 번 삭제한 컨테이너를 복구할 수 없으므로 삭제할 때는 신중을 기해야합니다.
위에서 만든 2개의 컨테이너를 삭제해보겠습니다.

# docker rm hellodocker

를 입력하면

이렇게 삭제되는 것을 확인할 수 있습니다.
하지만 이때 컨테이너가 동작하고 있는 상태일 때 삭제하고 싶다면

# docker rm -f hellodocker

-f 옵션을 사용하여 삭제하면 적용됩니다.

이제 이미지를 삭제해 보겠습니다.

# docker rmi ubuntu:18.04


역시 이미지도 삭제되는 것을 볼 수 있습니다.

도커 기본 명령어 모음

```
# docker -v (도커 버젼 확인)
# docker pull ubuntu:18.04  (ubuntu 18.04 버전의 도커 이미지 설치)
# docker images (도커 이미지 확인)
# docker rmi ubuntu:18.04 (우분투 18.04 버전의 도커 이미지 삭제)
# docker rmi $(docker images -q) (도커 이미지 전체 삭제)
# docker run -i -t --name helloubuntu ubuntu:18.04 (우분투 18.04 버전 컨테이너를 helloubuntu라는 이름으로 생성 및 동작)
# exit ( 도커 컨테이너 종료)
Ctrl + P + Q ( 도커 컨테이너 실행한 상태로 호스트로 이동)
# docker ps  (동작 중인 도커 컨테이너 확인)
# docker ps -a (모든 도커 컨테이너 확인)
# docker rm helloubuntu (helloubuntu라는 이름의 도커 컨테이너 삭제)
# docker rm -f helloubuntu (helloubuntu라는 이름의 실행중인 도커 컨테이너 삭제)
# docker rm -f $(docker ps -a -q) (도커 컨테이너 전체 삭제)
```

0개의 댓글

관련 채용 정보