docker11 [Docker] Docker commit, save, load 차이점 정리 01. docker commit(docker container -> docker image)# -a: author# -m: message# -c: commit시, Dockerfile 명령 지정 [CMD, ENV]# -p: 컨테이너 일시 정지 후 commit# docker commit [option] [contianer id] [image:tag]docker commit 5ca230103304 custom:latest컨테이너 내에서 작업 진행 중 현재 상태를 기억하기 위해 commit 사용commit을 사용하면 해당 컨테이너를 기반으로 image 생성 가능실행중인 컨테이너의 변경 사항을 저장 후 새로운 이미지 생성export와 다른 부분은 commit은 새로운 image 생성export/save 모두 im.. 2025. 1. 6. [Docker] Docker namespace, cgroup 정리 Linux namespace, cgroup 정리Linux의 namespace와 cgroup은 커널의 기능이다. 커널의 기능에 대해 깊게 아는것은 당장은 힘들지만, 2개의 기능(namespace, cgroup)이 어떤 개념과 원리로 사용되는지 간략히 정리해본다.namespace(자원 격리)VM(Virtual Machine)에서는 각 Guest 머신(Guest OS)별로 독립적인 공간이 제공된다.이로 인해 Guest 머신 끼리 서로 충돌하지 않는다.리눅스에서 이와 동일한 역할을 하는 namespace 기능이 커널에 내장되어 있다.namespace는 리눅스 커널의 리소스를 논리적으로 분리하는 역할을 한다.namespace aaa는 process에 포함namespace bbb도 process에 포함namespa.. 2025. 1. 6. [Docker] Dockerfile 옵션 관련 정리(ADD, COPY, ENV, ARG, ENTRYPOINT, FROM) 01. Dockerfile 구성😃 아래 내용은 Github Action을 구성하며 사용한 간단한 Dockerfile이다.해당 Dockerfile에 있는 옵션을 하나씩 정리 해보자.# 베이스 이미지FROM openjdk:17-jdk-slim# WORK DIR 지정WORKDIR /apps# 이미지 빌드 시 --build-args 로 넘길 인자ARG JAR_FILE=build/libs/*.jar# 이미지 혹은 파일을 도커 이미지의 파일 시스템으로 복사COPY ${JAR_FILE} app.jar# 노출 포트EXPOSE 8080# 이미지를 기반으로 컨테이너를 띄울 때 항상 실행되어야 하는 명령어ENTRYPOINT ["java", "-jar", "app.jar"]🐳 Dockerfile은 Docker 상에서 작.. 2024. 2. 7. [Docker] 복잡한 어플을 실제 배포해보기 01. 섹션 설명실제로 애플리케이션을 구성할때는 프론트 부분만을 이용하는 것이 아닌 백엔드 서버도 필요하고 DB 등등 많은 것이 필요하다. 이번에는 이전보다는 더욱 더 복잡한 도커 환경을 구성하는 시간을 가져보자.01-1. 풀스택 어플리케이션 (multi-container application)이번에는 요청(Request)은 Nginx, 프론트는 react, 백엔드는 node.js로 구성된 멀티 컨테이너 어플리케이션 환경을 구성 해보자. 실제로 어플리케이션이 모두 구현된 화면은 다음과 같다. 입력창에 데이터를 입력하면 TODO 리스트처럼 입력이 되는 간단한 어플리케이션. 해당 데이터는 MySQL에 저장 후 바로 보여주는 방식으로 진행이 된다. 또한 컨테이너를 재 시작하여도 DB에 남아있는 데이터는 그대.. 2023. 4. 24. [Docker] 간단한 어플을 실제 배포해보기 01. 섹션 설명 & Github에 소스 코드 올리기https://github.com/ym1085/docker-react-app-sample.git이번 시간에는 저번 시간에 진행하였던 react app을 Github에 올리는 작업을 진행 (기존에 벌써 올려 두었음) 깃헙에서 아이디가 없는 경우 아이디를 만들고 레포지토리를 생성 한다. 후에 우리가 이전에 작성한 프로젝트를 업로드 한다. 기본적인 업로드를 위한 Git 명령어# 저장소 초기화git init# 스테이징 상태로 변환git add .# 커밋 메시지 작성git commit -m "first commit"# 로컬과 원격 저장소 연결git remote add origin # 원격지 업로드git push origin master02. Travis CI 설.. 2023. 4. 24. [Docker] 간단한 React APP 실제로 배포 해보기 01. 섹션 설명01-1. 해당 섹션 설명어플리케이션의 처음부터 배포까지 진행단일 컨테이너 어플리케이션 실습멀티 컨테이너 어플리케이션 실습02. 리액트 앱 설치하기02-1. 리액트 앱 설치를 위해 node 설치$ node -vv16.13.1node -v 명령어를 통해 node.js 설치 여부를 확인 한다.02-2. node 설치 후 리액트 설치 진행# install reactnpx create-react-app react-app02-3. react 설치 후 실행# run reactnpm run start02-4. react application 테스트# test reactnpm run test02-5. react application build# build react appnpm run build03. .. 2023. 4. 24. [Docker] Docker Compose 01. Docker Compose란 무엇인가?Docker compose란 여러 개의 docker 컨테이너를 정의하고 한 번에 실행하는 툴이다.Kubernetes처럼 yaml 파일로 여러 개의 docker 내부 속성을 설정하고 한 번에 실행 시킨다. (마치 docker를 배치로 한 번에 실행시키는거라 생각하면 좋을 것 같다)01-1. Docker compose복수 개의 컨테이너를 실행시키는 도커 애플리케이션을 정의하기 위한 툴Compose를 사용하면 yaml 파일을 사용하여 애플리케이션의 서비스 구성이 가능01-2. 프로세스만들고자 하는 앱의 환경을 어디에서나 재사용하기 위해 Dockerfile 정의docker-compose.yml 에서 앱을 구성할 수 있는 서비스 정의docker-compose up 명령.. 2023. 4. 24. [Docker] Docker 기반 Node.js 앱 만들기 01. 섹션 설명Node.js 공식 홈페이지에서 도커를 이용하여 Node.js를 이용하는 예시 부분을사용하여 도커를 실정에 도입하는 방법 정리Dockerizing a Node.js web appNode.js 앱은 정말 간단한 앱을 만들 것이다Node.js 보다는 Docker에 초점을 맞춰서 진행Dockerfile을 어떤식으로 작성하는지 조금 더 딥하게 들어간다02. Node.js 앱 만들기package.json프로젝트 정보프로젝트에서 사용중인 패키지의 의존성 관리server.js 파일 필요node.js 시작 시 가장 먼저 실행되는 파일02-1. package.json 파일 만들기npm initThis utility will walk you through creating a package.json file.. 2023. 4. 23. [Docker] 직접 도커 이미지 만들기 01. 도커 이미지 생성 순서우리는 지금까지 도커 허브(Docker Hub)에 존재하는 이미지를 사용해 실습을 진행 하였다.이번 시간에는 도커 이미지를 직접 만들어보는 시간을 가져보자.01-1. 도커 이미지 생성하는 순서위 사진은 Docker Hub에 존재하는 Redis 이미지의 사진이다. 위와 같은 이미지를 만들기위한 순서는 다음과 같다.Docker File 작성Docker image를 만들기 위한 설정 파일컨테이너가 어떻게 행동해야 하는지에 대한 정의도커 클라이언트도커 파일에 입력된 것들이 도커 클라이언트에게 전달 되어야함도커 서버전달된 모든 것들의 작업을 수행하는 영역이미지 생성02. Dockerfile 만들기도커 이미지를 만들기 위한 설정 파일이며, 컨테이너가 어떻게 행도해야 하는지에 대한 정의0.. 2023. 4. 23. [Docker] 기본적인 Docker Client 명령어 알아보기 01. 이미지로 컨테이너 만들기이번 시간에는 도커(Docker) 이미지가 어떻게 컨테이너로 만들어지는지 확인 해보자.중요한 부분은 이미지 안에는 실행 시 시작될 명령어와, 파일 스냅샷이 존재한다는 점.01-1. 이미지이미지는 응용 프로그램을 실행하는 데 필요한 모든 것을 포함하고 있다.01-2. 실제 실행을 위해 필요한 부분시작 시 실행이 될 명령어(run kakaotalk)파일 스냅샷(카카오톡 파일)01-3. 이미지를 컨테이너로 만드는 순서❯ docker run hello-world # run 명령어를 통해 image를 컨테이너화 시킴Hello from Docker!This message shows that your installation appears to be working correctly.To .. 2023. 4. 23. 이전 1 2 다음