Backend 6

Dockerfile 만들기

Dockerfile을 이용하면 images를 만들 수 있다.새로운 이미지를 만들거나 기존 이미지를 가져와 원하는 세팅값을 저장후 docker bulid하여 원하는 상태를 바로 images로 로드할 수 있다.Dockerfile은 이름 그대로 Dockerfile을 생성후 그안에 원하는 옵션을 넣어주면 된다.RUN : Shell Script 또는 명령을 실행FROM : Docker Base Image (기반이 되는 이미지, : 형식으로 설정)CMD : 컨테이너가 실행되었을 때 명령이 실행EXPOSE : 호스트와 연결할 포트 번호를 설정한다.ENV : 환경변수 설정ADD : 파일 / 디렉터리 추가COPY : 파일 복사ENTRYPOINT : 컨테이너가 시작되었을 때 스크립트 실행VOLUME : 볼륨 마운트USER..

Backend/도커 2024.12.30

pytorch docker + jupyter notebook

1.pytorch docker 파일 다운로드https://hub.docker.com/r/pytorch/pytorch https://hub.docker.com/r/pytorch/pytorch hub.docker.com 2.pytorch image에 jupyter 다운 후 commitpytorch 이미지파일로 컨테이너 생성 후 컨테이너에 접속하여 pip install jupyter.그 후 exit로 나온 뒤 commit.이런식으로 뒤에 -jupyter라고 추가하여 저장하면 편하다.그 후 기존의 이미지는 삭제해준다.3.새 이미지 파일로 컨테이너 생성후 접속docker run -itd --name 원하는이름 -v 마운트할경우입력 -p 8888:8888 --gpus all --restart=always pytor..

Backend/도커 2024.12.30

docker container에서 gui 작업

도커로 환경을 분리하여 작업한다 하더라도 어쩔수 없이 gui가 필요할때가 있다.ex) opencv imshow이를 해결하기 위해선 -v로 host의 X11데이터를 컨테이너안으로 마운트 시켜주면 후 -e로 DISPALY환경변수를 지정해주면 된다.docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY :이후 컨테이너 안에서 xhost +local:docker 해준다. docker user가 실행하는 모든 프로그램을 x windows와 통신하게 해준다.apt-get updateapt-get install x11-appsx11-apps를 설치후 필요한 gui작업을 하면 따로 작은창으로 나온다.만약 오류가 발생한다면 Host에서 다음 명령어..

Backend/도커 2024.11.17

nvidia-container-toolkit설치 후 gpu 연동 테스트

어느시점부터 docker 안에 gpu를 올리는 기술이 nvidia-docker에서 nvidia-container-toolkit로 바뀌었다고 한다. 따라서 더이상 nvidia-docker를 설치하지않고, nvidia-container-toolkit을 설치해야 도커 이미지안에서 gpu를 사용할수 있다.nvidia-container-toolkit설치1.프로덕션 저장소 구성curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvi..

Backend/도커 2024.11.17

docker volume, 볼륨 마운트, 바인드 마운트

도커 이미지 파일로 생성한 컨테이너 안에서 이루어지는 작업은 컨테이너가 종료되면 모두 사라진다.그래서 별도의 방법을 사용하여 작업한 결과를 저장해야한다.docker commit은 작업한 결과를 새로운 이미지에 환경까지 포함하여 모두 저장한다면docker -v는 host의 특정 디렉터리에 컨테이너 안의 디렉터리를 연결하여 필요한 파일들만 저장하는 방식이다.여기서 host의 특정 디렉터리의 타입이 나뉘는데 그게 볼륨 마운트와 바인드 마운트이다.docker에서 컨테이너 안에 마운트할 목적으로 생성하고 관리하는 디렉터리가 볼륨인데 이 볼륨 디렉터리로 컨테이너와 마운트하면 볼륨 마운트이고, user가 직접 생성한 디렉터리로 컨테이너와 마운트하면 그게 곧 바인드 마운트이다.volumedocker volume cre..

Backend/도커 2024.11.17

docker설치, docker 명령어 정리

docker는 docker 이후 뒤에 명령어와 옵션을 조합하여 사용한다.docker의 이미지를 실행하면 1개의 컨테이너가 생성되고 그 안에서 작업이 이루어진다.docker는 여러개의 컨테이너를 동시에 실행할 수 있다.container가 종료되면 그 안에서 작업한 내용은 모두 초기화 된다.변경사항이 생기고 그것을 저장하고 싶다면 따로 방법을 취해야한다.도커설치1.wsl에서 curl -sSL get.docker.com | sh (가끔 에러나면 다시설치 or wsl재실행)2.1분정도 기다림3.docker --version 명령어 날려보고 깔린것 확인4.기본적인 권한을 줘야 실행이 편하게 사용가능// 도커 실행권한 열어주기sudo groupadd dockersudo usermod -aG docker $계정명su..

Backend/도커 2024.08.07