[linux] 데몬의 도커 오류 응답 :“컨테이너가 이미 컨테이너에서 사용 중입니다”
PC에서 Docker를 사용하여 여기에서 찾은 다음 지침으로 Quantum GIS를 실행했습니다. docker-qgis-desktop-QGIS 데스크탑을 실행하는 간단한 도커 컨테이너
이 오류 메시지가 나타나기 시작한 지난 주까지 모든 것이 제대로 실행되었습니다.
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 container prune
추가 -f
프롬프트없이 제거를 강제로.
사용하지 않은 모든 컨테이너를 나열하려면 (제거하지 않고) :
docker container ls -a --filter status=exited --filter status=created
다른 객체 (네트워크, 볼륨 등)를 제거하는 방법에 대한 자세한 예는 여기를 참조 하십시오 .
답변
나처럼 구글에서 여기에 착륙하고 하나의 공유 서비스로 여러 도커 작성 파일을 사용하여 컨테이너를 만들고 싶은 사람들 :
때로는 데이터베이스 도커 컨테이너와 같은 다른 프로젝트를 공유하는 경우가 있습니다. 첫 번째 실행 만 DB-Docker를 시작하고 두 번째 실행은 DB가 이미 실행 중임을 감지하고 건너 뜁니다. 이러한 동작을 달성하려면 Docker가 동일한 네트워크 및 동일한 프로젝트 에 있어야합니다 . 또한 고정 표시기 컨테이너 이름은 동일해야합니다.
첫 번째 : docker-compose에서 동일한 네트워크 및 컨테이너 이름을 설정하십시오 .
프로젝트 1의 docker-compose :
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의 docker-compose :
version: '3'
services:
service2:
depends_on:
- postgres
# ...
networks:
- dockernet
postgres:
container_name: project_postgres
image: postgres:10-alpine
restart: always
# ...
networks:
- dockernet
networks:
dockernet:
2 차 : -p
param을 사용하여 동일한 프로젝트를 설정 하거나 두 파일을 같은 디렉토리에 두십시오.
docker-compose -p {projectname} up