0
我有以下Dockerfile(它有點剝離下來,在此顯示的核心要素)使用pytz如泊塢與高山Linux的非根原因「IO錯誤:[錯誤13]許可被拒絕」
FROM alpine:latest
RUN adduser -D some_user_name &&\
apk add --update alpine-sdk &&\
apk add --update python-dev &&\
apk add --update py-dateutil &&\
apk add --update py-tz
USER some_user_name
CMD ["/bin/sh"]
我然後運行這個圖像通過以下方式
docker run -d\
-w /home/some_user_name/python/\
-v ~/dockerfiles/mount_this/python:/home/some_user_name/python\
--hostname docker-test --name dock-test\
alpine/01\
python executor.py settings:docker-lean
立即容器出口,docker logs
顯示以下錯誤
File "/home/some_user_name/python/executor_handler.py", line 23, in <module>
import pytz
File "/usr/lib/python2.7/site-packages/pytz/__init__.py", line 29, in <module>
from pkg_resources import resource_stream
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3141, in <module>
@_call_aside
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3127, in _call_aside
f(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3154, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 631, in _build_master
ws = cls()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 624, in __init__
self.add_entry(entry)
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 680, in add_entry
for dist in find_distributions(entry, True):
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2122, in find_on_path
path_item, entry, metadata, precedence=DEVELOP_DIST
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2521, in from_location
py_version=py_version, platform=platform, **kw
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2838, in _reload_version
md_version = _version_from_file(self._get_metadata(self.PKG_INFO))
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2486, in _version_from_file
line = next(iter(version_lines), '')
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2654, in _get_metadata
for line in self.get_metadata_lines(name):
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1623, in get_metadata_lines
return yield_lines(self.get_metadata(name))
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1615, in get_metadata
return self._get(self._fn(self.egg_info, name))
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1726, in _get
with open(path, 'rb') as stream:
IOError: [Errno 13] Permission denied: '/usr/lib/python2.7/site-packages/python_dateutil-2.2-py2.7.egg-info/PKG-INFO'
當我通過將-u root
選項添加到docker run
命令來運行映像爲root
時,則python腳本成功執行,但我真的不想以root身份運行該容器。
我能做些什麼來解決這個問題?