programing

데몬의 도커 오류 응답: "충돌... 컨테이너에서 이미 사용 중"

minimums 2023. 8. 21. 21:00
반응형

데몬의 도커 오류 응답: "충돌... 컨테이너에서 이미 사용 중"

PC에서 Docker를 사용하여 Quantum GIS를 실행하고 있습니다. 여기서 찾은 지침은 Docker-qgis-desktop - QGIS 데스크톱을 실행하는 간단한 Docker 컨테이너입니다.

다음과 같은 오류 메시지가 표시되기 시작한 지난 주까지는 모든 것이 정상적으로 실행되고 있습니다.

Error response from daemon: Conflict. 
The name "qgis-desktop-2-4" is already in use by container 235566ae17b8. 
You have to delete (or rename) that container to be able to reuse that name.

이 사이트에서 단서를 찾아봐도 이게 무슨 뜻인지 잘 모르겠어요.나는 이 일이 일어나기 전에 아무것도 변경하지 않았고 다음 명령을 사용하여 컨테이너를 성공적으로 시작했습니다.

sudo docker run --rm --name="qgis-desktop-2-4"     -i -t     -v ${HOME}:/home/${USER}     -v /tmp/.X11-unix:/tmp/.X11-unix     -e DISPLAY=unix$DISPLAY     kartoza/qgis-desktop:latest

이걸 어떻게 고칠 수 있을까요?

그것은 이름이 있는 용기처럼 보입니다.qgis-desktop-2-4시스템에 이미 존재합니다.아래 명령의 출력을 확인하여 실제로 존재하는지 확인할 수 있습니다.

$ docker ps -a

위 명령 출력의 마지막 열은 이름에 대한 것입니다.

용기가 있는 경우 다음을 사용하여 용기를 제거합니다.

$ docker rm qgis-desktop-2-4

아니면 강제로 사용하거나,

$ docker rm -f qgis-desktop-2-4

그런 다음 새 컨테이너를 만들어 보십시오.

명령 대신:docker run

다음을 사용해야 합니다.

docker start **CONTAINER ID**

컨테이너가 이미 존재하기 때문입니다.

추가 정보

이 오류가 자주 발생하여 사용하지 않는 모든 컨테이너를 한 번에 일괄 제거합니다.

docker container prune 

더하다-f프롬프트 없이 강제로 제거합니다.

사용하지 않는 모든 용기를 나열하는 방법(제거하지 않음):

docker container ls -a --filter status=exited --filter status=created 

다른 개체(네트워크, 볼륨 등)를 잘라내는 방법에 대한 자세한 예는 여기를 참조하십시오.

저처럼 구글에서 이곳으로 와서 하나의 공유 서비스로 여러 개의 도커 합성 파일을 사용하여 컨테이너를 만들고자 하는 사람들을 위해:

데이터베이스 도커 컨테이너 등을 공유하는 다른 프로젝트가 있는 경우도 있습니다.첫 번째 실행만 DB-Docker를 시작해야 하며, 두 번째 실행은 DB가 이미 실행 중임을 감지하고 이를 건너뜁니다.이러한 행동을 달성하기 위해서는 도커가 동일한 네트워크와 동일한 프로젝트에 배치되어야 합니다.도커 컨테이너 이름도 같아야 합니다.

번째: 도커 합성에서 동일한 네트워크 및 컨테이너 이름 설정

프로젝트 1의 도킹 스테이션:

version: '3'

services:
    service1:
        depends_on:
            - postgres
        # ...
        networks:
            - dockernet

    postgres:
        container_name: project_postgres
        image: postgres:10-alpine
        restart: always
        # ...
        networks:
            - dockernet

networks:
    dockernet:

프로젝트 2의 도킹 스테이션:

version: '3'

services:
    service2:
        depends_on:
            - postgres
        # ...
        networks:
            - dockernet

    postgres:
        container_name: project_postgres
        image: postgres:10-alpine
        restart: always
        # ...
        networks:
            - dockernet

networks:
    dockernet:

번째: 다음을 사용하여 동일한 프로젝트 설정-p 두 파일을 동일한 디렉토리에 param 또는 param으로 저장합니다.

docker-compose -p {projectname} up

실행하는 동안 이 오류가 발생했습니다.docker runsplunk dev 서버에 있습니다.다음 단계가 유용했습니다.

  1. 실행:docker container ls -a
  2. Get thecontainerName" "NAMES"의 출력입니다.
  3. 실행:docker restart <containerName>

아래 명령을 사용하면 문제가 해결됩니다.

docker rm -f container_name

최신 kartoza/qgis-desktop에 문제 없음

도망친

docker pull kartoza/qgis-desktop

다음에

docker run -it --rm --name "qgis-desktop-2-4" -v ${HOME}:/home/${USER} -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY kartoza/qgis-desktop:latest

충돌 오류 없이 여러 번 시도했습니다. 사전에 앱을 종료해야 합니다.또한 매개 변수가 약간 다릅니다.

간편한 세 가지 솔루션

(하나 선택)

  1. --name컨테이너를 시작할 때 (이름을 지정할 필요가 없으며, 지정하지 않을 경우 도커가 임의의 이름을 지정합니다.)

  2. 이름 변경: 다니예을다이제공합름)을 입력합니다.--name mycontainer--name mycontainer2)

  3. 해당 이름으로 이미 존재하는 컨테이너를 삭제합니다.예.

docker container rm <container_name>

메모들

  • 컨테이너를 생성하려고 하지만 같은 이름의 컨테이너가 이미 있을 때 오류가 발생합니다.

  • 실행하면 기존 시스템을 찾을 수 있습니다.

docker ps -a | grep <container_name>

아니면 그냥docker ps -a모든 기존 컨테이너를 검사합니다.

언급URL : https://stackoverflow.com/questions/31676155/docker-error-response-from-daemon-conflict-already-in-use-by-container

반응형