Trouble/Docker 12

docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]. 문제

도커 이미지 잘 구해서 실행시키는데 위 오류가 났다.docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]. 심상치 않아 보이는 오류명 대비 해결법이 간단했다. 해결법 sudo apt-get install -y nvidia-container-toolkit sudo systemctl restart docker nvidia 컨테이너 툴킷 설치하고 재시작하면 끝

Trouble/Docker 2024.12.09

docker 사용 시 /var/run/docker.sock permission denied 문제

docker container 띄워서 작업을 하려고 하는데 다음과 같이 권한 문제가 나왔다. permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: 접근 권한 문제인데 보통 local에서 아무 세팅하지 않으면 root만 docker에 접근 가능하다. 매번 sudo docker ~~~라고 쳐야되는 것 보면 알 수 있음. 위와 같은 경우는 십중팔구 docker container를 띄우는 shell script 같은 걸 실행했을 때 마주하는 문제일텐데, shell script 안에서 sudo를 남발할 수 없기 때문에 script를 수정하는 방법은 지양하는게 좋다.  해결 방법은 도커 ..

Trouble/Docker 2024.09.04

libnvidia-ml.so.1: cannot open shared object file: no such file or directory: unknown. 문제

Docker 컨테이너 잘 쓰다가 갑자기 다시 run하니까 다음과 같은 오류가 떴다.docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running hook #0: error running hook: exit status 1, stdout: , stderr: Auto-detected mode as 'legacy'nvidia-container-cli: initialization error: load library failed: libnvi..

Trouble/Docker 2024.05.13

--gpus 안 먹힐 때, nvidia-container-toolkit 설치 안 될 때

docker container 띄울 때 GPU를 써야할 경우 --gpus all를 추가한다. 이 때 nvidia-driver 멀쩡히 잘 설치했고, 다른 코드에서 GPU 사용 잘 되는데 docker container 만들 때만 다음과 같은 오류가 날 때가 있다.docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]. 원인을 검색해보면 nvidia-container-toolkit이 없어서 그렇다고 한다. 해결법sudo apt-get install nvidia-container-toolkit sudo apt-get update 간단하게 nvidia-container-toolkit을 설치해주면 ..

Trouble/Docker 2024.05.07

Timezone, geographic area 설정으로 인한 Docker build 무한 대기 해결법

간혹 Dockerfile 내 설치하는 패키지 중 time zone, greographic area처럼 유저가 직접 설정하는 내용이 있을 경우, docker build가 더 진행되지 않고 대기 상태에 빠져 무한 루프 돌고 있을 때가 있다.  해결법1. 직접 입력해주기ENV $TIMEZONE=Asia/SeoulRUN ln -snf /usr/share/zoneinfo/$TIMEZONE /etc/localtime 2. 무시하도록 하기ENV DEBIAN_FRONTEND=noninteractive 개인적으로 후자로 박아넣는 것이 더 좋더라. interactivate input을 받는 내용 중 크리티컬한 것들은 별로 없었음.

Trouble/Docker 2024.05.07

Docker 이미지 빌드 오타 문제 - ERROR: failed to solve: failed to read dockerfile 그리고 ERROR: "docker buildx build" requires exactly 1 argument.

ERROR: failed to solve: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount837859110/Dockerfile: no such file or directory 도커 이미지 빌드 시 위 오류를 볼 수 있다. 아주 단순한 실수. 도커 파일을 이름을 "Dockerfile"이 아닌 다른 이름으로 해뒀기 때문이다. 예를 들어, "DockerFile"로 해뒀으면 위 오류가 난다. (내가 자주 그럼 ㅠ) 항상 정확하게 하기 위해서 -f tag를 쓰는 것이 좋다. 도커 파일의 이름을 직접 지정해주는 방식. docker build IMAGE_NAME:TAG -f ./DockerCustomFile . ERROR: "docker buil..

Trouble/Docker 2024.01.29

Docker 이미지 빌드 시, interactive 무한루프 벗어나기

DockerFile로 이미지를 직접 빌드할 때 가끔 중간에 무한 루프 걸리는 부분이 있다. 설치하려는 라이브러리 중 일부가 사용자의 입력을 받은 뒤 설치되도록 되어있다면 무한 루프가 걸린다. 대표적인 예로, ubuntu base image를 가져와서 시작하는 대부분은 다음과 같은 문제일 것이다. Preconfiguring packages ... Configuring tzdata ------------------ Please select the geographic area in which you live. Subsequent configuration questions will narrow this down by presenting a list of cities, representing the time zo..

Trouble/Docker 2024.01.29

Docker 사용 시 Error response from daemon: could not select device driver "" with capabilities: [[compute utility graphics gpu]] 문제

멀쩡히 docker를 잘 사용하다가 nvidia driver를 업데이트한 이후로 다음 오류가 발생했다. Error response from daemon: could not select device driver "" with capabilities: [[compute utility graphics gpu]] 1) 기존 만들어둔 컨테이너를 start/attach하는 경우 2) 새로운 컨테이너는 run하는 경우 위 두 경우 모두에서 같은 오류가 났다. 해결법 sudo apt-get update sudo apt-get install nvidia-container-toolkit sudo systemctl restart docker nvidia container toolkit을 설치하고 docker를 재시작하면 해..

Trouble/Docker 2023.12.12

Docker container 내에서 Open3D visualization 문제 : [Open3D WARNING] GLFW Error: X11: Failed to open display unix:1

Docker container 내에서 open3d를 이용한 geometry visualization할 경우, 다음과 같은 오류가 뜰 수 있다. No protocol specified [Open3D WARNING] GLFW Error: X11: Failed to open display unix:1 [Open3D WARNING] Failed to initialize GLFW [Open3D WARNING] [DrawGeometries] Failed creating OpenGL window. OpenCV를 이용한 image visualization을 할 때 비슷한 에러가 날 경우, 다음 argument를 추가함으로써 간단히 해결했지만 Open3D는 몇가지가 더 있다. -v /tmp/.X11-unix:/tmp/...

Trouble/Docker 2023.04.18

Docker 컨테이너 내 opencv-python 설치 시 ImportError: libGL.so.1 문제

ImportError: libGL.so.1: cannot open shared object file: No such file or directoryPython opencv를 사용하고자 하면 단순하게 pip install opencv-python을 입력하면 끝이라 큰 이슈가 없지만 Docker 컨테이너 내에서 같은 명령어를 치면 위 오류가 날 수 있다. 딱 봐도 libGL이 없다는 오류라는 것을 알 수 있는데 libgl1-mesa-glx를 설치해주면 된다. 컨테이너에 직접 설치할 경우, 다음과 같이 하면 끝이고pip install libgl1-mesa-glx Docker 이미지에 선반영되게 만들고 싶다면, DockerFile 내에 다음을 추가해주면 된다. -y tag를 까먹지 말자.~~~~ 생략 RUN a..

Trouble/Docker 2023.03.21