오늘은 MLOps 공부 그 첫 번째 도커에 대해 간단히 알아보도록 하겠습니다.
우선 도커는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는
오픈 소스 프로젝트입니다. 사용해보시면 느낌이 확 오는데 가상 머신에 비해 배포하는 것이 너무 편합니다.
도커 설치
도커를 리눅스 환경에 설치하는 방법은 아주 간단합니다.
sudo wget -qO- http://get.docker.com/ | sh
위 명령어를 실행하면 바로 설치가 됩니다. 설치 후 아래 명령어를 실행시켰을 때 아래 이미지처럼 출력되면 끝입니다.
sudo docker run hello-world
명령어
docker run -> 도커 컨테이너를 실행
많은 옵션들이 있는데 아래 명령어로 예시를 들자면
docker run -it --name test ubuntu:latest
-it -> 컨테이너를 실행시키는 동시에 interactive 한 터미널로 접속
--name -> 컨테이너 id는 알아보기가 어렵기에 구분하기 쉽도록 이름을 지정
-it 옵션을 붙였기에 명령어 실행 후 새로운 터미널에 접속된 것을 확인할 수 있습니다.
컨테이너의 이름이 test1인 것을 확인할 수 있습니다.
docker images -> 도커 이미지 리스트를 출력
위에서 도커가 설치됐는지 확인할 때 생성한 hello-world 이미지와
docker run 명령어 예시를 들 때 생성한 ubuntu 이미지가 출력되는 것을 확인할 수 있습니다.
docker ps -> 실행 중인 도커 컨테이너 리스트를 출력
확인을 위해 아래 명령어를 실행시키고 나서 docker ps 명령어를 실행하면
docker run -it -d --name test1 ubuntu:latest
docker run 명령어에서 -d 옵션은 백그라운드에서 컨테이너가 계속 실행되도록 해준다.
test1 컨테이너가 출력되는 것을 확인할 수 있습니다.
옵션으로 -a를 넣고 실행하면 실행되었던 컨테이너까지 출력이 됩니다.
docker stop -> 실행 중인 도커 컨테이너를 중단
docker stop [컨테이너 id]와 같은 방식으로 사용하는데 id는 다 칠 필요 없고 겹치는 숫자가 없을 때까지만
입력해주면 됩니다. 예를 들어 1234, 1289 2개의 컨테이너가 있다면 123 까지만 처도 1234 컨테이너가 중단됩니다.
docker rm -> 도커 컨테이너를 삭제
test, test1 컨테이너를 중단하니 docker ps, docker ps -a 명령어에서 출력되지 않는 것을 확인할 수 있습니다.
docker rmi -> 도커 이미지 삭제
ubuntu 이미지가 삭제된 것을 확인할 수 있습니다.
만약 아래와 같은 에러가 뜬다면
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/json": dial unix /var/run/docker.sock: connect: permission denied
아래 명령어를 실행시키시면 됩니다. 저는 이걸로 해결됐습니다.
sudo chmod 666 /var/run/docker.sock
'MLOps' 카테고리의 다른 글
도커파일(Dockerfile) 작성 (0) | 2021.11.21 |
---|---|
MLOps란? (0) | 2021.11.16 |
GCP 인스턴스, 스토리지 버킷 생성하기(ssh 접속, gsutil, 권한 설정) (0) | 2021.06.08 |