- 상황
- Version
CentOS Linux release 7.3.1611 (Core)
+ docker-ce17.03.1-ce
,17.06.1-ce
, or18.03.1-ce
- 해결
-
docker version을
17.12.1-ce
로 설치하면 발생하지 않음(검색하면 17.12이상이라고 하지만 위의 Version에서 썼듯 18.03에서도 발생)sudo systemctl docker stop sudo yum install docker-ce-17.12.1.ce-1.el7.centos sudo systemctl docker start
-
문제가 발생했을 때는 docker container에 해당하는 process를 죽이거나 재시작 필요. kernel process가 포함되는 경우도 있어서 간단히 하기 어려움
-
docker image를 local build + Status가
Dead
인 경우 /var/lib/docker/containers의 container id에 해당하는 file을 삭제해도 동작- docker image를 registry에서 받아서 실행한 경우는 이 방법도 통하지 않음
-
- ref
-
-
Save hyunjun/ed1cdebcf982e30b2cc1b6c039f2d7b7 to your computer and use it in GitHub Desktop.
Docker troubleshooting
- 상황
- apache flask docker를 build하고 run한 후 명령을 주면
Target WSGI script ... cannot be loaded as Python module
error * centos 7.3.1611, docker 17.03.1-ce, docker 사용 시 항상 sudo 사용중
- apache flask docker를 build하고 run한 후 명령을 주면
- 원인
- -v로 volume을 연결했는데, permission 문제가 있었음
- 해결
- docker build
- local directory가 없으면
mkdir logs_apache; touch logs_apache/api.log
- docker run후 명령을 주기 전에 -v로 연결된 directory 권한 변경
root@aedb4e44734a:/var/www/apache-flask# chown -R www-data app/logs
- ref
- moby/moby#1295
- https://denibertovic.com/posts/handling-permissions-with-docker-volumes/
- 근본적인 해결은 이 방법을 시도해봐야 할 거 같으나 복잡해서 현재 시도할 수 없을 듯
- https://serversforhackers.com/c/dckr-file-permissions
Author
hyunjun
commented
Mar 31, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment