Section 7. 간단한 어플을 실제로 배포해보기 (개발 환경 부분)
·
Tech/Docker
Docker build -f Dockerfile.dev ./ Docker run -p 3000:3000 -it -p 옵션 : 앞이 로컬 포트, 뒤가 컨테이너 포트 -it 옵션 : -i 상호입출력 -t 옵션 : tty를 활성화하여 bash 셸 사용 볼륨을 이용한 소스코드 변경 이미지를 다시 빌드하지 않고 소스코드가 반영될 수 있게 COPY 대신 Volume을 이용할 수 있다. COPY와 Volume의 차이 COPY는 로컬에 있는 파일을 도커 컨테이너에 복사를 해주는 것 Volume은 도커 컨테이너에서 로컬 머신에 있는 파일을 매핑을 시켜 참조를 해서 도커 컨테이너에서 실행하는 것 docker run -p 3000:3000 -it -v /usr/src/app/node_modules -v $(pwd):/usr..
Section 6. Docker Compose
·
Tech/Docker
docker compose 다중 컨테이너 도커 애플리케이션을 정의하고 실행하기 위한 도구 docker compose up 컨테이너들 한꺼번에 구동 docker compose down 컨테이너들 한꺼번에 정지 docker compose -d up detach 명령어들을 써서 백그라운드에서 앱을 실행 docker compose up —build build 옵션 O : 이미지가 있든 없든 이미지를 빌드하고 컨테이너 시작 build 옵션 X : 이미지가 없을 때만 이미지를 빌드하고 컨테이너 시작 본 내용은 인프런 강의 ‘따라하면서 배우는 도커와 CI환경’ 을 듣고 정리한 내용입니다.
Section 5. 도커를 이용한 간단한 Node.js 어플 만들기
·
Tech/Docker
도커 컨테이너 안에서 Node.js 앱 실행하기 Node.js App 만들기 -> 도커 관한 부분 만들기 (이미지 생성 후 컨테이너에서 실행) Node.js App 만들기 package.json : 프로젝트 정보와 사용 중인 패키지 의존성 관리 파일 server.js : Node.js에서 진입점이 되는 파일 도커 관한 부분 만들기 Dockerfile 작성하기 -> 도커파일을 바탕으로 도커 이미지 생성 후 도커 컨테이너 안에서 Node app 실행 도커 파일 관련 FROM : 베이스 이미지 명시 RUN : 추가적으로 필요한 파일 다운로드 CMD : 컨테이너 시작 시 실행될 명령어를 명시 package.json 파일이 없다고 나오는 이유 npm install -> package.json을 바탕으로 어플리케이..
Section 4. 직접 도커 이미지를 만들어 보기
·
Tech/Docker
도커 파일로 이미지 생성 Dockerfile -> 도커 클라이언트 -> 도커 서버 -> 이미지 Alpine 이미지 (시작시 실행 명령어 ?? 파일스냅샷 ..) 임시 컨테이너 생성 - 시작시 실행 명령어 아직 없고 하드 디스크에 파일 시스템 스냅샷 추가 임시 컨테이너 - 시작 시 실행할 명령어 추가 Alpine 이미지 생성 - 이미지 ID 도커 이미지에 이름 부여 ( -t 옵션) docker build ./ docker build -t sm/hello ./ 도커아이디/저장소 or 프로젝트이름 : 버전 docker build -f Dockerfile.dev ./ (-f 옵션 사용해 도커파일 이름 지정도 가능) 본 내용은 인프런 강의 ‘따라하면서 배우는 도커와 CI환경’ 을 듣고 정리한 내용입니다.
Section 3. 기본적인 도커 클라이언트 명령어 알아보기
·
Tech/Docker
Run 도커 클라이언트에 명령어 입력 후 도커 서버로 보냄 도커 서버에서 컨테이너를 위한 이미지가 이미 캐쉬가 되어 있는지 확인 없으면 허브에서 다운, 있으면 그 이미지로 컨테이너 생성 이미지로 컨테이너 생성 파일 스냅샷 되어있는 것을 하드디스크 부분에 올림 컨테이너 실행되면서 시작 커맨드 이용해 어플리케이션 실행 커널을 통해 실행파일 작동 도커 이미지 내부 파일 구조 보기 Docker run alpine ls Hello-world는 파일 스냅샷에 ls를 사용 가능하게 하는 파일이 없어서 hello-world 이미지로는 ls 명령어 불가 컨테이너들 나열하기 Docker ps (도커 클라이언트 / process status) Docker ps (실행중) Docker ps -a (모두) 도커 컨테이너의 생명..
Section2. 도커 기본
·
Tech/Docker
도커란 무엇인가 컨테이너 기반의 가상화 플랫폼 컨테이너를 사용하여 응용 프로그램을 더 쉽게 만들고, 배포하고, 실행할 수 있도록 설계된 도구 프로그램 설치 간편. 서버, 패키지 버전, 운영체제 등에 좀 덜 의존적임 컨테이너란 무엇인가 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스에 제공하여 프로그램의 이동,배포 및 관리를 단순하게 함 코드와 모든 종속성을 패키지화하여 응용 프로그램이 한 컴퓨터 환경에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행되도록 하는 소프트웨어 표준 단위 도커 이미지란 무엇인가 도커에서 특정 프로세스를 실행하는데 필요한 모든 설정이나 종속성(소스 코드, 라이브러리, 컴파일 된 실행파일 등)을 묶은 형태 이미지를 이용해 컨테이너를 생성한다 도커 컨테이너란 무엇인..