도커에 소프트웨어를 넣으려고 하는데chown /sys/class/net/eth0
이것은 내가 통제할 수 없는 독점 코드이므로 Docker 내에서 작동하도록 해야 합니다.
실행하면 다음과 같은 오류 로그가 표시됩니다.
{"error":"MySQL: Connection refused"}chown: changing ownership of ‘/sys/class/net/eth0’: Read-only file system
docker 쓰기 액세스 권한을 부여하지 않고 이 문제를 해결하고 싶습니다. docker가 제공하는 격리를 유지하고 싶습니다.
답변1
--network host
표준 네트워크 모니터링 소프트웨어를 실행하려면 명령 에 이 옵션을 사용해야 합니다 docker run
. 이렇게 하면 동일한 네트워크 장치를 모두 볼 수 있습니다.
실제로 패킷을 캡처해야 하는 경우 Docker 컨테이너에 추가 "기능"도 부여해야 합니다. 그렇지 않으면 권한 거부 오류가 발생합니다.
답변2
Dockerfile에서 권한을 허용할 필요가 없습니다. docker run 명령만 추가하면 됩니다.--볼륨/sys:/sys:ro이미지를 실행하면