본문 바로가기
728x90

인프라/도커4

도커 실습 - docker, nginx, react, express, mysql 실습 전체 파일:https://github.com/skullkim/docker-practice GitHub - skullkim/docker-practice Contribute to skullkim/docker-practice development by creating an account on GitHub. github.com 도커 실습위한 것이니 express, react 코드에 대한 설명을 스킵하자. Dockerfile 설명: client/Dockerfile 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 FROM node:alpine # working 디렉토리를 /app으로 설정 # 이미지가 생성되면 해당 디렉터리 역시 생성된다. # working 디렉.. 2021. 9. 19.
컨테이너 기반 가상화 플랫폼 도커의 이해 1 docker run -it ubuntu:latest echo "hello world" cs 위 명령어를 입력하면 hello world가 출력이 된다. 하지만 이 hello world는 단순히 로컬에서 echo "hello world"를 통해 입력한 출력한 hello world와는 차이가 있다. 위 명령어를 실행을 하면 로컬이 아닌 우분투 최신 버전에서 hello world를 출력한다. 도커는 이미지를 통해 다양한 환경을 제공하고 이런 환경에서 실행되는 것을 컨테이너라 한다. 따라서 VMware와 같은 가상머신이라 생각할 수 있지만 여기에도 차이가 존재한다. 가상머신의 경우에는 소프트웨어를 통해 하드웨어를 가상화 한다. 하지만 컨테이너의 경우 하드웨어 가상화를 하지 않는다. 컨테이너는 하드웨어의 가상화.. 2021. 9. 13.
컨테이너 실행하기 도커를 설치하고 구동하면 네이티브 처럼 설치된거 같다. 하지만 도커는 리눅스 컨테이너 이므로 실제로는 가상 머신에 설치되어 있다. 맥의 경우 도커는 xhyve라는 맥에서 제공하는 가상환경을 이용한다. 도커를 설치 후 제대로 설치되었는 지 확인을 위해 다음과 같은 명령어를 실행해 보자. 여기서 보면 클라이언트와 서버 총 두가지로 나뉘어서 버전이 출력 된다. 즉, 도커는 하나의 실행파일이지만 실제로는 클라이언트, 서버역할을 각각 실행할 수 있다. 도커 커맨드를 입력하면 도커 클라이이언트가 도커 서버로 명령을 전송하고 결과를 받아 터미널에 출력한다. 도커 실행 도커는 docker run [OPTIONS] IMAGE:[:Tag|@DIGEST] [COMMAND] [ARG...]명령어로 실행할 수 있다. 여기에 자.. 2021. 9. 6.
도커 시작하기 하나의 서버에 여러개의 프로그램을 설치하고 구동을 할 때 라이브러리의 버전이 다르거나 동일한 포트를 사용하는 경우 설치가 까다롭다. 따라서 그냥 물리적으로 서버를 나누는 것이 편한데 이러면 자원낭비가 심해진다. 또 한 서버 환경의 지속적인 변화와 DevOps, MSA로 인한 짧아진 배포 주기와 잘게 쪼개진 서버는 관리를 더 복잡하게 만들었다. 이때 도커가 등장해서 서버 관리 방식이 바뀌게 되었다. 도커는 컨테이너 기반의 오픈소스 가상화 플랫폼이다. 여기서 컨테이너란 다양한 프로그램, 실행환경을 컨테이너로 추상화 하고, 동일한 인터페이스를 제공해 프로그램의 배포와 관리를 단순하게 해주는 것이다. 그때문에 도커의 컨테이너로 추상화를 한다면 어느 환경(조립PC, AWS 등)에서도 실행할 수 있다. 컨테이너는 .. 2021. 9. 6.
728x90