DevOps/docker

들어가며최근 AWS 기반으로 CI/CD 파이프라인이 구축되어 있던 것을 온프레미즈로 옮기고 있기도 하고, 현재 일하는 곳에서 젠킨스를 이용한 CI/CD 파이프라인을 구축해야할 일이 있었다.젠킨스에 대해서 자세하게 다뤄본 적은 없었으나, 컨테이너를 통하여 젠킨스를 띄우고 젠킨스에서 다른 컨테이너를 컨트롤 하는 상황일 때, 꽤나 잔 에러가 많이 난다고 듣기만 하고서 선뜻 다뤄보지 못했다. 이번 포스팅에서는 docker를 통해 젠킨스를 띄우는 방법에 대해서 다룰 예정이며, dood 방식으로 진행한다. 파이프라인 구성에 대한 자세한 부분은 담지 않는다. 본론DinD? DooD? DinD ( Docker in Docker )먼저 DinD는 말 그대로 Docker를 컨테이너 안에 설치하여 실행하는 방법이다. 즉, ..
들어가며학교에서 HPC(High Performance Computer)를 관리하는 일을 하면서, 여러 난관에 봉착하게 되었다. 가장 신경 쓰였던 점은 사용자들에게 리눅스 기반의 접근을 제공하는데, 모든 사용자들을 커버할 수 없다는 점이다. 예를 들어 pytorch나 tensorflow 기반 사용자들을 고려하여 관련 모듈은 내부적으로 설치가 끝난 상황이지만, 다른 프로그램을 돌리는 사람이 몇몇 있다! 그러한 케이스의 사용자들을 커버하기 위해서 추가한 것은 바로 이 enroot라는 명령어이다. 이는 NVIDA에서 만든 툴로써 권한이 없는 상황에서도 docker image를 기반으로 컨테이너 혹은 OS를 만드는 데, 도움을 주는 sandbox 툴이다. 무엇보다 이름 그대로 enroot 즉, root를 만들어 ..
들어가며인프라에 대해서 공부하다보면 docker라는 기술을 많이 사용하는 것을 알 수 있는데, 과연 어떠한 이점이 있기에 도커를 사용하는 것일까? 다양한 장점이 있지만 어떤 프로그램을 다운로드하는 과정을 간단하게 만들기 위해서라고 생각한다. 물론 이 외에도 굉장히 많은 장점이 있다. docker가 어떻게 다운로드 하는 과정을 간단하게 만들어 줘요?도커가 없다면 우리는 프로그램을 어떻게 다운로드할까? redis를 다운로드한다고 생각해보자. redis 인스톨러 다운로드인스톨러 실행프로그램 설치 완료 및 구동이러한 방식을 통해서 프로그램의 설치가 이루어진다. 실제로 redis를 설치하려고 한다면, redis.io 사이트 방문을 통해 인스톨러를 다운로드 하거나, homebrew라는 CLI 패키지 매니저를 사용해..
들어가며본 포스팅은 어떻게 dockerfile을 작성할 것인지에 대해 실습하는 과정을 중점적으로 포스팅하였기 때문에, docker의 구조 및 자세한 설명은 생략한다. docker의 다운로드 등은 다른 포스팅을 참고하는 것을 권장합니다. What is a container?docker의 공식 문서에 따르면 컨테이너의 정의는 아래와 같다. A container is a sandboxed process running on a host machine that is isolated from all other processes running on that host machine. That isolation leverages kernel namespaces and cgroup features that have bee..
marsboy
'DevOps/docker' 카테고리의 글 목록