# inception

22개의 포스트
post-thumbnail

[42서울] Docker

컨테이너가 뭔지 알아봤으니, 이제 도커에 대해 알아보자! 🐳 Docker 도커는 소프트웨어를 컨테이너 유닛으로 패키징 하여 애플리케이션을 신속하게 구축하고 테스트 및 배포할 수 있도록 도와주는 소프트웨어 플랫폼이다. Docker hub로부터 컨테이너에 필요한 이미지들을 내려받을 수 있으며, 위에서 언급했듯이 Dockerfile로 빌드 하여 사용자 정의 이미지를 생성할 수도 있다. 도커는 로컬 컨테이너를 사용하여 개발자가 표준화된 환경에서 작업할 수 있도록 하여 개발 수명 주기를 간소화한다. 때문에 CI/CD(Continuous Integration/Continuous Delivery)에 좋다. Docker architecture 도커는 클라이언트-서버 구조를 사용한다. 도커 클라이언트가 도커 데몬에 요청을 보내면, 데몬은 컨테이너를 빌드하고 실행시킨다. 클라이언트와 데몬은 같은 시스템에서 실행될

2023년 7월 23일
·
1개의 댓글
·
post-thumbnail

[42서울] Container

오랜만에 글을 쓰려니 마음처럼 쉽게 써지질 않는다.. 그래도 아자잣! 🫥 virtualization 일반적으로 OS를 실행하기 위해서는 전용 물리적 서버가 필요하다. 1OS 1서버가 필요하다는 뜻이다. 하지만 각 서버에 사용되지 않는 부분들이 있다면, 이는 비용적인 측면에서 큰 손해로 이어진다. 이를 해결하기 위해 가상화 기술이 등장한다. 가상화 기술은 하나의 물리적 머신에서 여러 가상 환경을 생성하는 기술이다. 가상화 기술에는 여러 종류가 있지만, 가장 대표적인 것은 하이퍼바이저(Hypervisor)를 이용한 방법이다. 하이퍼바이저는 물리적인 하드웨어 위에 가상 머신을 생성하고 관리하는 소프트웨어 레이어다. 42학생이라면 이미 Born2beRoot에서 VM(virtual machine)을 다뤄본 적이 있을 것이다. 각 가상 머신은 자체 운영 체제(게스트 OS)와 응용 프로그램을 실행하는데 필요한 모든 요소를 포함하고 있다. 때문에 가상 머신들은 서로

2023년 7월 21일
·
0개의 댓글
·
post-thumbnail

docker와 docker-compose

docker란? > Go언어로 작성된 리눅스 컨테이너를 기반으로하는 오픈소스 가상화 플랫폼 VM처럼 가상화기술을 사용하여 독립된 환경에서 애플리케이션을 실행할 수 있는 컨테이너를 생성 Docker file과 Docker Image를 활용해 컨테이너를 생성할 수 있음 컨테이너와 VM의 차이 > > VM은 호스트OS에서 사용중인 PC자원중 일부를 격리시키고 해당 자원을 사용해 게스트 OS를 설치하여 호스트로부터 완전히 분리된 가상화 환경을 구축할 수 있음 컨테이너는 호스트OS에서 사용중인 프로세스를 격리시키고 어플리케이션 실행에 필요한 바이너리만 올린 뒤 가상화하여 사용하는것 VM은 OS위에 다른 OS가 올라가기에 무겁고 느릴수밖에 없지만 완전히 독립된 환경을 제공하기 때문에 더 높은

2023년 5월 11일
·
0개의 댓글
·
post-thumbnail

[Pytorch를 통한 인공신경망 모델 구현] 2. Inception_v1(GoogleNet)

1. 논문 읽기 / 모르는 내용 정리 translation invariance - input shift에 대해 output이 영향을 받지 않아야 한다. 고양이가 좌측 상단에 있던 우측 하단에 있던 고양이로 예측해야 한다는 뜻이다. 2. 핵심 내용 , insight 요약 모델의 구조상 특징으로 unit을 늘리는데 computational complexity가 폭발하지 않음 aux classifier를 통해 학습에 도움을 줌 ( 그러나 나중엔 사용되지 않음) 단순히 이러한 intuition이 가능하다는 것에 의미를 둔다. 3. 구조 파악 / 필요하다면 sketch ![](https://velog.velcdn.com/images/sungwookai/post/55b7cf40

2023년 5월 6일
·
0개의 댓글
·
post-thumbnail

Dockerfile & Image

지금까지 배운거 image를 pull받아서 container run시키기 근데 나의 이미지로 container를 만들 수는 없을까? 나의 도커 이미지 만들기 방법은 2개 1. container를 수정하고, commit하기 2. 원하는 방식으로 dockerfile을 작성하고 build하기 >Q. commit과 build의 차이는? 둘다 결과적으로 이미지를 만드는 명령어이다. commit : 이미 사용하고 있는 컨테이너가 있을 때 이미지로 만드는 것 ( 백업 느낌) build : 도커 파일을 바탕으로 구체적으로 시간순서에 따라서 새로 이미지를 생성하는 것 도커파일을 이용하면 어떤 과정을 통해서 이미지가 만들어졌는지 분명하게 이해할 수 있다. 나뿐만 아

2023년 4월 5일
·
0개의 댓글
·
post-thumbnail

Docker

'도커(Docker)' 란 무엇인가? >vmware, virtualbox와 같은 가상 머신처럼 독립된 실행환경을 제공하면서도, 컴퓨터에 직접 애플리케이션을 설치한 것과 같이 빠르고, apt, npm, pip 처럼 명령어 한줄로 원하는 앱이 포함된 실행환경을 손쉽게 설치할 수 있는 환상적인 개발환경을 제공하는 툴. 웹서버를 구동해보기 세개의 컴퓨터에 운영체제부터 설치 -> 잘 안됨 하나의 컴퓨터에 가상으로 컴퓨터를 만들고, 운영체제를 만든후에 웹서버를 설치하기-> 이게 가상머신 (vmware, virtualbox) 웹서버를 위해서 가상머신을 설치한다면? 굉장히 느려진다!! 한대의 컴퓨터 안에서 각각의 앱을 격리된 환경에서 실행시키기 호스트에서 실행되는 격리된 각각의 실행환경 = 컨테이너 ![](https://velog.velcdn.com/images/blank_/post/3ace49be-3caa-404b-b67f-f945c1ccd0f

2023년 4월 4일
·
0개의 댓글
·
post-thumbnail

[42seoul] 5 circle - INCEPTION

INCEPTION github 😋 1. 도커 🐳 1서클 과제인 본투비루트에서 가상머신에 대해서 공부를 한 적이 있다. 이번 과제에서는 가상머신 위에서 도커를 돌려야 하기 때문에 비슷하지만 다른 도커와 가상머신 두개를 다 사용해야 했다. 둘은 모두 어디에서나 같은 개발 환경을 제공하는 확장성/이식성을 가졌다는 점에서 공통점을 갖는다. 그렇다면 차이점은 무엇일까? 🥨 OS 설치 유무 가장 큰 차이점은 가상머신의 경우 OS를 설치하여 호스트 컴퓨터의 커널과 분리되어 운영되는 반면, 도커 컨테이너의 경우 OS를 따로 설치하지 않고 호스트 컴퓨터의 OS 자원을 공유한다. 따라서 도커가 가상머신에 비해 빠르고 효율성이 높다. 🥨 컨테이너의 독립성 그렇다면 도커 컨테이너는 어떻게 독립성을 유지할 수 있는 것일까? 리눅스의

2023년 3월 15일
·
0개의 댓글
·
post-thumbnail

[Inception] Docker: tutorial 1 - Playing with Busybox

https://docker-curriculum.com/ 에서 진행하는 tutorial을 참고하여 docker 사용해보기 🔌 Install https://docs.docker.com/desktop/install/mac-install/ 위의 page에서 chip에 맞게 Docker를 설치 brew를 통해 설치하는 것도 가능하다. docker run hello-world 위의 명령어를 통해 Docker 설치가 정상적으로 되었는지 확인할 수 있다. 🕹️ Playing with Busybox busybox image를 받아 container를 내 system에서 실행시켜 보자 docker pull busybox ![](https://velog.velcdn.com/images

2023년 2월 19일
·
0개의 댓글
·
post-thumbnail

[Inception] Docker: concept

🐳 Docker란? Docker는 software application의 배포를 자동화할 수 있도록 하는 open-source project이다. 쉽게 말하면 환경에 구애받지 않고 application을 신속하게 배포, 확장 할 수 있도록 도와주는 tool이라고 이해할 수 있다. Virtual Machine과의 차이 Docker와 VM 모두 가상화를 제공한다는 점에서 유사하다. 가상화를 제공한다는 말은 결국 어떤 프로세스가 isolated된 환경에서 동작할 수 있도록 한다는 것이다. 하지만 Docker는 VM에 비해서 빠르고 가볍다. 오른쪽 그림과 같이 VM의 경우 HOST OS 위에 Hypervisor가 올라오고, 그 위에 GUEST OS가 올라온다. 즉, VM은 완전히 분리된 P

2023년 2월 19일
·
0개의 댓글
·
post-thumbnail

[42서울 / inception] 인셉션 테스트 가이드라인

💡 42seoul 본과정 >💡 아래 링크들 밑에 설명이 있습니다. 다만, 아래 링크들을 전부 읽어보시면 굉장한 도움이 되실 겁니다. 🚀 Inception [Column] 클라우드 네이티브란? 도커와 컨테이너의 이해 (1/3) - 컨테이너 사용법 [Inception](https://bigpel66.oopy.io/library/42/inner-circl

2022년 12월 24일
·
0개의 댓글
·

[42Seoul] - Inception

1.무엇을 하는 과제인가? : Docker라는 도구로 독립적인 시스템을 구성하는 과제이다. 과제에서는 Nginx(Webserver) + Mariadb(DB) + Wordpress(Blog)를 구성한다. 2.과제를 하면서 참고 했던 곳들 1)Docker공부 : 간단하게 docker와 docker-compose에 대해서 공부할 수 있는 곳 들이다. 너무 설명이 잘 되있어서 무조건 이 영상들은 보는 것을 추천한다. 링크1 : https://www.youtube.com/watch?v=Ps8HDIAyPD0&list=PLuHgQVnccGMDeMJsGq2O-55Ymtx0IdKWf 링크2 : https://www.youtube.com/watch?v=0kQC19w0gTI 링크3 : https://www.youtube.com/watch?v=EK6iYRCIjYs 2)Docker File 명령

2022년 12월 4일
·
0개의 댓글
·

Inception

소개 Inception은 docker를 이용하여 웹 서버를 구축하는 과제이다. subject의 제약사항으로 성능상의 이유로 container는 debian buster 혹은 alpine linux 두 번째 안정 버전을 사용하도록 제약하고 있다. 또한 아래 3개의 컨테이너를 만들어야 하며 TLSv1.2 또는 TLSv1.3의 프로토콜을 사용하는 nginx wordpress + php+fpm MariaDB (nginx를 포함하지 않는) DB volume과 wordpress volume을 만들고, docker-network를 이용하여 컨테이너간 통신이 이루어져야 하고, 컨테이너는 충돌 발생시 재시작되어야 한다. Docker 정의 docker는 컨테이너 기반의 오픈소스 가상화 플랫폼이라고

2022년 11월 17일
·
0개의 댓글
·
post-thumbnail

[Inception] 과제 정리

과제 설명에 들어가기 전에.. Inception은 docker와 docker-compose를 주로 사용하는 과제다. docker에 대한 배경지식과 경험에 따라서 과제에 소요되는 시간이 천차만별이다. 물론 docker를 잘 모르더라도, 해당 과제를 끝낼 때 쯤에는 docker를 어느 정도 다룰 수 있게 될 것이다. 과제의 목표 우리는 3개의 도커 컨테이너와 2개의 볼륨을 만들어서 워드프레스 웹사이트를 띄우는 것이 목표이다. 이때, docker-compose를 사용하여 컨테이너와 볼륨을 모두 연결시켜주는 것이 중요하다. 컨테이너 각 도커 컨테이너에는 웹사이트를 띄우기 위해 필요한 서비스들이 존재한다. (Nginx, mariadb, wordpress + php-fpm) 네트워크 각 컨테이너들은 정해진 포트를 통해서 통신해야 한다. 볼륨 컨테이너의 데이터들이 저장된 디렉토리는 호스트 컴퓨터의 폴더와 마운

2022년 10월 27일
·
0개의 댓글
·
post-thumbnail

Inception이란

Inception 2014년에 개최된 ILSVRC에서 우승을 한 모델은 GoogLeNet이다. 이후 Inception이란 이름으로 논문을 발표했다. (즉, Inception V1이 GoogLeNet이다.) 그러나 이 대회에서 우승을 한 GoogLeNet이 실제로 구현하기가 어려워, 준우승을 한 VGG 모델이 더 많이 쓰였다. 이에 GoogLeNet에 변형을 가해 Inception v2와 v3가 나오게 되었다. Inception V1 그러면 인센셥 버전 원이 나오게 된 흐름을 살펴보자. 인셉션의 기본 아이디어는 CNN의 네트워크를 깊어지게 하자는 것이다. 이렇게 CNN에서 네트워크가 깊어지게 만들면, 일반적으로 성능이 좋아진다. 그러나 overfitt

2022년 7월 5일
·
0개의 댓글
·

Docker

Docker Docker는 어플리케이션을 개발, 전송 및 실행에 필요한 환경을 하나의 이미지로 모아두고 이미지를 사용해 다양한 환경에서 실행 환경을 구축하고 운영하기 위한 개방형 플랫폼이다. Docker는 내부에서 컨테이너를 사용하는데, 일반적으로 생각하는 물류 시스템에서의 컨테이너와 비슷하다. 컨테이너로 실어서 다른 곳에 나르는 것처럼, 다양한 개발환경을 컨테이너로 추상화하기 때문에 동일한 환경을 누구에게나 제공할 수 있다. 이렇게 동일한 개발환경을 제공하기 때문에 프로그램의 배포 및 관리 또한 쉽게 할 수 있게 된다. Docker를 사용하면 어플리케이션을 관리하는 것과 동일한 방식으로 인프라도 관리할 수 있다. 코드를 신속하게 전송, 테스트 및 배포하기 위한 Docker 방법론을 활용하여 폭포형 개발에서 벗어나서 지속적 딜리버리가 가능한 구조의 개발이 가능해 개발 환경에서 코드 작성과 실행 간의 지연을 크게 줄일 수 있다. Docker platform Docke

2022년 6월 29일
·
0개의 댓글
·
post-thumbnail

모든 걸 뒤바꿀 단순하고 작은 생각.

Inception Block Inception Block을 사용하게 된 이유는 더 다양한 feature를 추출하기 위해서입니다. 그래서 초기의 Inception Block은 위의 그림과 같이 1x1, 3x3, 5x5 Convolution Layer와 3x3 Max Pooling을 나란히 놓는 구조였지만, 연산량이 엄청났기에 1x1 Convolution을 사용하여 연산 량을 조절하였습니다. 1x1 Convolution Layer를 추가한 Inception Block은 아래 그림과 같 습니다. Max Pooling뒤에 1x1

2022년 6월 27일
·
0개의 댓글
·
post-thumbnail

✨Case Studies, Practical Advices for Using ConvNets

LeNet-5 일종의 multi-level convolution. AlexNet AlexNet은 총 8개의 layer 중 5개가 convolution layer이다. 이전에 비해 뛰어난 성능 향상을 보였는데 여러가지 이유가 있겠지만 가장 큰 이유는 data set이 커졌기 때문이었다. FC는 freely connected다. **AlexNet은

2022년 6월 14일
·
0개의 댓글
·
post-thumbnail

Docker의 내부 매커니즘

1. Docker 사용 이유 도커를 사용하는 이유는 특정한 프로세스를 실행 시키는 환경을 이미지화 하여 일정하게 관리하면서 컨테이너 외부와는 격리 시키는 것에 있다. Docker는 이 과정을 VM과 달리 매우 가볍고 효율적으로 달성할 수 있다. 환경을 일정하게 유지: 한번 생성된 image는 다른 시점, 환경에서 실행해도 같은 개발, 배포 환경을 구축할 수 있게 해준다. 외부와 격리: 컨테이너는 docker-engine이 구동시키고 이러한 컨테이너들은 서로 다른 컨테이너, host와 격리된다. 각각의 컨테이너가 개별적인 프로세스 실행능력과 , 메모리 공간을 가지게 된다. 효율성 : 공유하는 부분은 하나로 나누어 쓰고 변경지점이 필요할 경우 각자 상위 레이어에 추가할 수 있다. 💡 효율성 부분은 중요한 부분이므로 밑에서 자세하게 설명합니다. 2. Docke

2022년 5월 30일
·
0개의 댓글
·

Docker Basis

Docker 1. Docker란 > Docker : Go언어로 작성된 가상화 환경 구축에 이용되는 오픈 소스 프로젝트 Docker에는 Docker Compose, Private Registry, Docker Machine, Kinematic 등 여러 프로젝트가 있는데, 이들은 곧 Docker Engine을 더 효율적으로 사용하기 위한 것이므로 핵심은 Docker Engine이다. 2. Docker를 사용하는 이유 > Container(컨테이너) : 어플리케이션을 환경에 구애받지 않고 실행하는 기술 ex) gitlab을 우분투에서 설치하는 경우의 명령어 vs 센트OS에서 설치하는 경우의 명령어 => Docker에서는 운영체제에 상관없이 하나의 명령어로 설치 및 실행 가능 눈송이 서버 (Snowflake Servers) 서버는 서버를 다루는 기술과 별개로, 각 서버마다 운영 기록이 다르다. 똑같은 일을 하는 두 서버가 있어도 예를 들면 서버

2022년 5월 18일
·
0개의 댓글
·
post-thumbnail

Inception 과제 해석

서브젝트 요구사항 Virtual Machine에서 수행 필요한 모든 파일은 srcs 폴더에 있어야 합니다. 한 Makefile은 필수이며 디렉토리의 루트 전체 응용 프로그램을 설정해야 합니다 (즉, Docker-compose.yml을 사용하여 Docker 이미지를 빌드해야 합니다.) 특정 규칙에 따라 다양한 서비스로 구성된 소규모 인프라를 설정하는 것으로 구성. 가상 시스템에서 수행되어야 한다. docker-compose 를 사용해야함. 각 도커 이미지는 해당 서비스와 이름이 동일해야 한다. 각 서비스는 전용 컨테이너엣 실행되어야 한다. 성능 문제를 위해 컨테이너는 알파인 리눅스의 궁극적인 안정버전 또는 데비안 버스터에서 제작 되어야한다.(둘 중 선택) 서비스당 하나씩 도커 파일을 작성해야한다. Docker 파일은 Makefile에 의해 Docker-compose.yml에서 호출되어야 합

2022년 4월 13일
·
0개의 댓글
·