본문 바로가기

전체 글

Docker 컨테이너 설정 변경 (이전 완료) 1. 현재 컨테이너 종료 docker stop {container_name} 2. 컨테이너 commit docker commit {container_name} {저장할 image_name} 컨테이너를 커밋하게 되면, 해당 컨테이너 그대로 이미지로 구워진다. 3. 컨테이너 재실행 docker run {저장한 image_name} 이외에는 컨테이너의 config파일을 바꾸는 방법이 있긴 하지만, docker 자체를 내렸다 올려야 하기 때문에 다른 컨테이너에도 영향이 간다 더보기
Docker 고급 램 할당 변경 (이전 완료) 딥러닝등 도커에서 빡센 작업을 돌리다 보면, 도커에 할당된 램이 기본으로는 4mb이므로 굉장히 부족하다. 그럴때 docker 공유 메모리를 ——shm-size={size}라는 옵션으로 늘린다. docker run --shm-size=8G python 더보기
Docker Nvidia-Docker GPU 사용 (이전 완료) 이전에는 nvidia-docker로 따로 사용하던게 docker run 명령어의 옵션 –gpus {GPU NUMBER}으로 통합되었다. 예전 nvidia-docker run nvidia/cuda:11.0-base … 현재 docker run --gpus 1 nvidia/cuda:11.0-base {GPU Number}은 GPU몇번을 사용하겠다는 의미다. docker run --gpus 0 nvidia/cuda:11.0-base docker run --gpus all nvidia/cuda:11.0-base 0 : 0번째 GPU만 사용 all : 모든 GPU를 사용 더보기
Dockerfile 작성(이전 완료) 1. Dockerfile 앞에서 컨테이너를 실행시키려면 image가 필요 했다. 이 이미지는 docker hub 에 올라와있는 공식 이미지를 받을 수도 있고, 직접 Dockerfile이란 파일을 만들어 관리할 수도 있다. 만들어진 Dockerfile은 docker build 명령어를 통해 빌드할 수 있고 이렇게 빌드된 이미지는 docker push 명령을 통해 개인 registry 또는 Docker hub에 올릴 수 있다. Dockerfile의 자세한 작성방법은 Dockerfile Reference를 참조할것 2. example 데이터가 같이 있는 flask 이미지를 하나 만들어 보겠다. 데이터는 다음과 같은 구조를 가진다. app_file 밑에 Image, Js, Library, Python, data.. 더보기
Docker 기본 이미지 실행 (이전 완료) 1. 이미지 컨테이너를 실행시키려면 실행시키려는 이미지가 필요하다. 이미지는 docker pull [:]​ 위 명령으로 받아오게된다. pull 명령으로 받아오게 되면,받아온 이미지를 create로 컨테이너를 생성, start로 컨테이너를 실행시킬 수 있다. 또는 docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG…] 으로 한번에 이미지를 받아오고 컨테이너를 만들어 실행할 수도 있다. 2. pull, create, start 로 실행 2.1 pull create start 3. run으로 한번에 실행 두 방식 모두 각자의 장단점이 있으므로 본인에게 맞는 방법으로 하면 된다. 4. 컨테이너 실행된 컨테이너는 bash쉘을 통해 접근하게 된다. 실행된 컨테이너는 .. 더보기
Docker 설치 (이전 완료) ubuntu 20.04 기준 docker 설치 1. http 패키지 및 기타 필요 패키지 설치 sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common 2. gpg키 및 저장소 추가 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 3. repository 등록 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" 4. docker, containerd 설치 su.. 더보기
Docker 란 (이전 완료) 1. Docker Docker는 컨테이너 기반의 가상화 플랫폼이다. 기존 host OS위에 가상 OS를 띄워 OS 기반으로 어플리케이션을 서비스 하는 방식에서 좀 더 가벼운 컨테이너 기반으로 프로세스 격리를 통해 가상화를 가능하게 해주어 자원 낭비를 최소화 하였다. 그림에서 보다시피 기존 VM방식은 호스트위 가상 OS를 띄워 해당 OS위에서 서비스를 제공해주는 방식이였다면, Docker의 경우 Docker 미들웨어를 두고 컨테이너를 통해 서비스를 제공해준다. 이러한 방식의 장점으로는 빠르게 컨테이너 단위로 실행 및 파괴가 가능하기 때문에 더욱 쉽게 자원 관리를 할 수 있게 된다. 또한 하나의 서비스를 제공하기 위해 필요한 단위가 작아지므로 같은 자원 대비 더욱 많은 서비스 제공이 가능해지게 된다. 2. .. 더보기
GitLab .gitlab-ci.yml 자주 사용되는 명령 gitlab 파이프라인을 위한 파일 작성법으로써, 자세한 작성법은 아래 링크를 참고하길 바람. https://docs.gitlab.com/ee/ci/yaml/ `.gitlab-ci.yml` keyword reference | GitLab Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner. docs.gitlab.com 자주 사용되는 CI/CD 변수 List Predefined variables reference | GitLab Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus Gi.. 더보기
Github Actions 2. action 사용 action이란 workflow에서 가장 작은 단위의 블록으로써, github에서 제공하거나, 다른 유저들이 제공하거나 또는 내가만들어서 사용할 수 있다. 1. 다른 Repository에 있는 action 사용. 다른 repo에 있는 action를 사용하기 위한 사용법은 다음과 같다. uses: {owner}/{repo}@{ref} 다른 유저들의 action는 Marketplace에서 검색이 가능하다. 또한 github를 포함한 여타 많은 플랫폼에서 많은 action를 제공한다. ex) docker build, aws접속 등… 검색을 하게되면, 기본적인 사용법을 알 수 있다. 아래 사진은 github에서 공식적으로 제공하는 Node.js를 세팅하는 action다. 해당 페이지에 들어가게 되면, actio.. 더보기
Github Actions 1. 자주 사용되는 yml 파일 Github Actions를 작동시키기 위한 yml파일 작성 방법이다. 이 포스팅에서는 자주 사용되는 요소에 대해서만 다루고, 자세한 예시는 다음 Docs에 나와있다. 작성 가이드 Workflow syntax for GitHub Actions - GitHub Docs About YAML syntax for workflows Workflow files use YAML syntax, and must have either a .yml or .yaml file extension. If you're new to YAML and want to learn more, see "Learn YAML in Y minutes." You must store workflow files in the .github/workflows.. 더보기