내 경우 docker 로 nginx proxy를 설정할 때 문제가 되어 기록해 둔다.

처음 설정은 잘 된다. 시스템 리부팅 후에 꼬여서 문제. 사견인데 이 문제에 대해 "꼬였다" 용어 정리를 먼저 하면,

nginx 가 실행되는 시기, docker ps 에서 권한 문제로

root 인데도 제대로 컨트롤이 안 되는 경우를 꼬였다고 표현하고 있다.

root 인 상태에서

systemctl restart 했을 때 깨끗하지 않고 docker ps 에서 이래저래 나오면 

restart : always 된 경우다. "no" 로 바꿔주면 되고

이미 실행된 녀석들은

docker update --restart=no $(docker ps -q)

명령어로 도커 재 시작시 다시 실행 안되도록 해 주면 된다.

docker ps 하면 지워졌다고 나오는데  systemctl restart docker 하면 또 실행되어서 docker ps 가 된다.

이런 땐, systemctl restart docker.service

그래도 안되면 도커 지웠다가 다시 설치.

dpkg -l | grep -i docker

sudo apt-get remove --purge docker-ce docker-ce-cli containerd.io

sudo apt-get remove --purge docker.io

이 후

apt install 로 docker와 docker.io 설치하면 됨.

 

도커가 꼬여서 도커 업그레이드, 재설치, 리부팅 등등 삽질을 했었는데 

하나의 포트만 쓰는 리눅스의 프로세스 처럼 기존 docker 와 충돌은 보장하지 않기 때문에 꼬임 현상이 나는 듯 하다.

sudo docker system prune 으로 깔끔한 정리. -af 는 신중히.

네, 맞습니다. Docker에서 --prune 옵션은 특정 Docker 명령어와 함께 사용되어 관련 자원을 정리하는 데 도움을 줄 수 있습니다. 하지만, docker system prune과는 다르게, 이 옵션은 보통 Docker의 다른 하위 명령어와 함께 사용됩니다. --prune 옵션의 사용 예와 용도는 다음과 같습니다:

Docker 이미지 Prune

미사용 Docker 이미지를 정리하려면, docker image prune 명령어를 사용할 수 있습니다. 이 명령은 태그가 없고 (dangling 상태인) 이미지들을 삭제합니다.

sudo docker image prune

이 명령어에 -a 옵션을 추가하면, 사용 중이지 않은 모든 이미지를 삭제합니다:

 
sudo docker image prune -a

Docker 컨테이너 Prune

중지된 모든 Docker 컨테이너를 정리하려면, docker container prune 명령어를 사용할 수 있습니다.

sudo docker container prune

Docker 네트워크 Prune

사용하지 않는 모든 네트워크를 정리하려면, docker network prune 명령어를 사용할 수 있습니다.

sudo docker network prune

Docker 볼륨 Prune

미사용 Docker 볼륨을 정리하려면, docker volume prune 명령어를 사용할 수 있습니다.

sudo docker volume prune

각각의 prune 명령어는 관련된 자원 유형(이미지, 컨테이너, 네트워크, 볼륨)을 대상으로 하며, -f 또는 --force 옵션을 추가하여 사용자 확인 없이 바로 정리를 진행할 수 있습니다.

--prune 옵션은 이러한 prune 관련 명령어와는 별개로, 특정 Docker 명령어의 결과물을 정리하는 데 사용되기도 합니다. 예를 들어, docker build 명령어에 --prune 옵션을 사용하여 빌드 캐시를 정리할 수 있습니다. 하지만, 이는 Docker 버전에 따라 다르며, 일부 명령어에서는 --prune 옵션이 사용되지 않을 수도 있습니다. 사용 가능한 옵션과 기능은 Docker의 버전 및 공식 문서를 참조하여 확인해야 합니다.

 

 

+ Recent posts