>  기사  >  운영 및 유지보수  >  docker v가 작동하지 않는 경우 수행할 작업

docker v가 작동하지 않는 경우 수행할 작업

藏色散人
藏色散人원래의
2021-12-09 15:02:464331검색

docker v가 작동하지 않는 해결 방법: 1. 컨테이너를 실행할 때 컨테이너에 권한을 추가합니다. 2. selinux를 일시적으로 끄고 3. selinux 규칙을 추가하고 화이트리스트에 마운트할 디렉터리를 추가합니다.

docker v가 작동하지 않는 경우 수행할 작업

이 문서의 운영 환경: ubuntu 18.04 시스템, Docker 버전 20.10.11, Dell G3 컴퓨터.

docker v가 작동하지 않으면 어떻게 해야 하나요?

docker -v 마운트 후 서비스를 시작할 수 없는 문제에 대해

최근에 docker를 배워서 간단한 nginx 이미지를 만들어 봤습니다.
플레이 가능한 nginx를 만들어야 하기 때문입니다. 따라서 쉬운 작업을 위해서는 컨테이너의 구성 파일을 호스트에 마운트해야 합니다.
한동안 작업한 결과 docker run에 -v 속성이 추가된 것을 발견했습니다. 서비스가 시작되지 않습니다.

한동안 고민하다가 이것저것 장착을 살펴봤습니다.
드디어 문제의 원인을 찾아 여기에 기록하겠습니다. 그 이유는 CentOS7의 보안 모듈 selinux이 권한이 없는 마운트된 디렉터리 문제를 해결하는 데 최소한 다음 세 가지 방법이 있기 때문입니다.

1. 컨테이너를 실행할 때 컨테이너에 권한을 추가하세요.

예: docker run -i -t –privileged=true -v /home/docs:/src waterchestnut/nodejs:0.12.0

2, 일시적으로 selinux 종료:

예: su -c

실행 후:

docker run -i -t -v /home/docs:/src waterchestnut/nodejs:0.12.0

참고: 나중에 selinux를 다시 활성화해야 합니다. 명령: su -c "setenforce 1"

3, selinux 규칙을 추가하고 화이트리스트에 마운트할 디렉터리를 추가하세요.

예: chcon -Rt svirt_sandbox_file_t /home/docs

실행 후:

docker run -i -t -v /home/docs:/src waterchestnut/nodejs:0.12.0

마운트 권한이 있으면 성공적으로 시작할 수 있습니다.

추천 학습: "Docker Video Tutorial"

위 내용은 docker v가 작동하지 않는 경우 수행할 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.