All

Cloud/Docker

[Docker] 도커 볼륨과 바인드 마운트

Docker Volumes 도커의 볼륨이란 호스트 머신의 폴더이다. 즉 컨테이너의 내부의 폴더를 호스트 머신 상의 컨테이너 외부 폴더에 연결하는 역활을 하는 것을 의미한다. Docker Volumes 을 사용하는 이유 일반적으로 도커 이미지를 만들고, 컨테이너로 실행시키면 다음과 같이 도커가 실행이 된다. 만약 컨테이너에서 파일을 만들고 그 파일을 다룬다고 가정 했을 때, 모든 행위는 컨테이너에서 읽고, 써지기 때문에 컨테이너 외부에서는 해당 파일을 다루기가 힘들다. 따라서 해당 파일을 외부 폴더(로컬)에 연결하여 사용하기 위해서 도커의 볼륨을 이용한다. 📢 간단하게 말하자면, 컨테이너와 로컬간의 공통적인 참조 영역을 만들어주는 역활 일반적으로 컨테이너가 종료되면 컨테이너에서 만들어진 파일들이 삭제가 되..

Cloud/Docker

[Docker] Docker 자주쓰는 명령어

해당 명령어에 대한 옵션은 [docker 명령어 옵션 컨테이너/이미지] 순으로 사용된다. docker images :가지고 있는 모든 이미지를 표시한다. docker ps : 현재 사용하는 컨테이너의 목록을 보여줌 -a 옵션 : 모든 컨테이너의 목록을 보여줌 docker run : 새로운 컨테이너를 생성하고 시작합니다. (attached) - it 옵션 : input, output의 의미로 터미널과 소통 할 수 있게 만듬 -d 옵션 : detached 모드로 실행한다. --rm 옵션 : 컨테이너가 중지 할 때 컨테이너가 제거된다. --name 옵션 : 원하는 이름으로 컨테이너가 실행된다 docker start : 중지된 컨테이너를 시작한다.. (detached) docker create : 도커 이미지에..

Cloud/Docker

[Docker] 이미지 레이어

Docker 이미지 레이어 도커의 이미지파일은 레이어에 따라 쪼개서 관리된다. 그 중 Dockerfile에 적힌 몇가지의 명령은 Dockerfile의 레이어를 나타낸다. (RUN, ADD, COPY) 그리고 이미지는 이런 다양한 명령을 기반으로 여러 레이어에서 간단하게 구성된다. (만들어진 도커 이미지는 읽기 전용이며, 명령어가 실행되고 이미지가 빌드되면 이미지가 잠기고, 다시 빌드하지 않는 한 이미지 내의 코드는 변경 할 수 없다) 그리고 나서 컨테이너로 이미지를 실행하게 되면, 코드가 실행 중인 애플리케이션 이미지 위에 컨테이너 레이어가 생성 된다. 도커의 이미지 레이어가 중요한 이유는 이미지를 빌드할 때 마다 이미 생성된 레이어가 캐시 되어 재사용 되기 때문에 빌드시간을 단축 할 수 있다.

Cloud/Docker

Dockerfile을 사용하여 도커 이미지를 만들고 컨테이너 실행하기

Dockerfile Dockerfile이란 Docker image을 만들기 위한 절차이다. 우리가 Docker Container을 사용하기 위해서는 Docker image 파일이 필요한대 이를 생성해주는 작업을 하기 위한 사전작업이다. Dockerfile 작성하기 node.js로 서버를 구축하고 있다고 가정한다. (node.js에 대한 지식이 없어도 이해 가능) Dockerfile을 제외한 파일들이 존재하고 node server.js 을 열어서 요청에 대한 반응 하는 형식으로 진행된다. 이를 하기 위해서는 여러 조건이 필요한대, 그것은 아래와 같다 node.js 설치 npm install 을 통한 라이브러리 의존성 해결 node server.js 을 통한 서버 실행 현재 우리는 이 과정을 Docker 이..

Cloud/Docker

[Docker] 도커란 무엇인가?

Docker 도커란 컨테이너를 생성하고 관리하기 위한 도구이며, 도커를 통해 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있다. Docker을 사용하면 코드를 더 빨리 전달하며, 운영을 표준화 할 수 있는 장점 때문에 많은 사람들에게 사랑 받고 있다. 📢 컨테이너 : 소프트 웨어에서 컨테이너란 표준화된 소프트웨어 유닛을 의미하는데, 이는 기본적으로 코드 패키지 이며, 해당 코드를 실행하는데 필요한 종속성과 도구가 포함되어 있다. Docker 작동 방식 도커는 코드를 실행하는 표준 방식을 제공하는데, 도커는 그 중에서 컨테이너를 위한 운영 체제 이다. 가상 머신이 서버 하드웨어를 가상화하는 방식과 유사 한대, 컨테이너는 서버 운영 체제를 가상화 한다. Docker에서의 image란? 도커는 애플리케..

Algorithm/Programmers

프로그래머스 Lv1 바탕화면 정리

문제 https://school.programmers.co.kr/learn/courses/30/lessons/161990 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 해당 문제는 min, max = (x, y), (x, y) 좌표를 둔 다음 min 에는 왼쪽 가장 윗부분에 있는 요소의 좌표를 max 에는 오른쪽 가장 맨 아래에 있는 좌표를 넣어서 구해주면 쉽게 문제를 해결할 수 있다. 아래는 min, max을 구해서 처리한 Python 코드이다. 🖥️ main.py from typing import List def solution(wallpaper..

Algorithm/Programmers

프로그래머스 LV1 게임 맵 최단 거리

문제 https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 해당 문제는 Baekjoon에서 많이 풀어본 문제라 정형적인 풀이 방식으로 접근해 문제를 풀었다. DFS, BFS 방식이 있지만, 최단거리와 미로 관련 문제는 BFS로 풀면 쉽게 풀리는 데이터가 머리에 남아 있어서 해당 문제 또한 BFS 방식으로 풀었다. 풀이 방법은 다음과 같다. x, y 좌표에서 상하좌우를 비교하여 조건에 충족했을 때, queue에 x, y을 추가한다. maps [nx..

Algorithm/Programmers

프로그래머스 LV1 폰켓몬

문제 https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 처음 해당 문제를 읽으면 조금 난해 할 수 있다. 하지만 지문을 조금만 더 잘 이해해 본다면 쉽게 풀 수 있는 있다. 현재 문제에서는 N/2 마리의 폰켓몬을 선택하는 방법 중 가장 많은 종류의 폰켓몬을 선택하는 방법을 문제이다. 예를 들어서 만약에 [3,3,3,2,2,1]라는 폰켓몬이 넘어오게 된다면, N/2 마리까지 선택 가능함으로 3마리까지 선택가능 하다. 그중에서 다양하게 뽑을 수 ..

Algorithm/Programmers

프로그래머스 Lv1 개인정보 수집 유효기간

문제 https://school.programmers.co.kr/learn/courses/30/lessons/150370 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 해당 문제는 파기해야 할 계약들을 리스트에 담아서 반환해 주는 문제이다. 일단 날짜, 시간 관련 문제를 풀 때는 항상 제일 낮은 수치인 "일"이나 "초"를 기준으로 변환하여 문제를 풀이하면 쉽게 풀 수 있다. 문제를 읽어 보면 중요한 문장이 하나 있는데 이는 다음과 같다. 예를 들어, A라는 약관의 유효기간이 12 달이고, 2021년 1월 5일에 수집된 개인정보가 A약관으로 수집되었다..

JHeaon
'분류 전체보기' 카테고리의 글 목록 (17 Page)