본문 바로가기

반응형

도커

MSA 가상머신, 컨테이너 VM VS 도커 VM은 각 게스트 OS가 따로 있어 커널, 라이브러리 전부 포함 성능 손실이 발생할 수 있고 이미지가 매우 커 배포, 부팅 속도가 오래걸린다. 그에 반면 컨테이너는 호스트 OS를 같이 쓰기 때문에 손실 위험성이 적으며 배포, 부팅속도가 매우 빠르다 개발 환경 그대로 다른 서버로 복제가 용이하며 컨테이너에는 애플리케이션 구동을 위한 라이브러리와 실행파일만 존재함으로 용량도 매우 작다. 도커는 컨테이너 생성시 필요한 요소들 도커 이미지에 모아두는데 이미지 내용은 여러개의 계층으로 된 바이너리 파일이다. 도커 컨테이너는 도커 이미지로 생성되며 격리된 시스템 자원과 네트워크를 사용할 수 있는 독립된 공간을 의미한다. Dockerfile로 이미지 생성을 자동화 할 수 있으며 빌드 명령어, 컨테이너.. 더보기
Docker Compose를 이용하기 docker-compose.yml 파일을 통해 별도의 도커 명령어를 모르더라도 docker-compose up 명령어를 통해 한번에 원하는 환경을 만들 수 있다. 위 그림과 같이 클라이언트인 웹 브라우저가 있고 워드프레이스인 웹서버와 mysql DB 서버가 존재한다고 생각하고 도커를 통해 구축해보자. 아래 주소에 있는 docker 명령어와 compose 파일을 참고해서 스터디하고자 한다. https://gist.github.com/egoing/b62aa16573dd5c7c5da51fd429a5faa2 docker-compose.md GitHub Gist: instantly share code, notes, and snippets. gist.github.com [Docker 명령어] [Docker Comp.. 더보기
Docker Push (DockerHub, GitHub) 도커 이미지를 다른 사람과 공유하기 위해서 push를 통해 저장소인 docker hub 또는 git hub에 올릴 수 있다. Docker 공유하기 (Push) 1) 도커 허브에 로그인 또는 회원가입을 한 뒤 Repository를 생성한다. 2) 예시로 python3으로 만들면 아래 화면처럼 도커를 Push 할 예시 화면을 확인 할 수 있다. 3) 그럼 예시로 ubuntu OS에 Python3를 설치한 이미지를 도커 허브에 Push해보자 #ubuntu 이미지를 다운받는다. docker pull ubuntu #ubuntu 이미지를 실행 후 바로 명령어를 입력할 수 있게 옵션 -it으로 실행 (실행 이미지 이름은 my-python) docker run -it --name my-python ubuntu #apt.. 더보기
Docker Commit & Build 도커 Commit & Build 도커 커밋은 실행 중인 컨테이너를 백업하는 용도로 많이 사용되며 도커 빌드는 Dockerfile을 기준으로 새로운 이미지를 생성할때 많이 사용된다. 도커 Commit 도커허브를 통해 이미지를 다운받은 다음 run을 통해 실행하면 컨테이너가 실행된다 이때 컨테이너간의 공간이 독립적이기 때문에 run 명령어로 여러 컨테이너를 실행시킬 수 있다. 이후 개발자가 컨테이너에 작업을 하면 오직 해당 컨테이너에만 수정한 로직이 반영되기 이를 커밋을 통해 이미지로 만들고 싶은 것이다. 그럼 그 이미지를 run하여 여러 컨테이너로 실행할 수도 있고 push를 통해 도커허브와 같은 레지스트리에 올려 여러 사용자가 함께 사용할 수 있게 할 수도 있다. 이제 ubuntu를 다운받아 실행시킨 후.. 더보기

반응형