[英]Docker Entrypoint Error with --user option on docker run
I discover this problem with a docker run
when i want just that my container write as not root files. 当我只想将我的容器写为非根文件时,我发现docker run
出现此问题。
When i use this kind of command (where the entrypoint is overided) i don't have any problem : 当我使用这种命令(入口点被覆盖)时,我没有任何问题:
docker run -u `id -u $USER` --entrypoint bash -it --rm -v somepath:somepathincontainer IMAGE
It's work and i have access to the container with I have no name!
它正在工作,我无法使用该容器进入I have no name!
user account x) 用户帐户x)
But, without overide of the entrypoint like here : 但是,在不覆盖此处入口点的情况下:
docker run -u `id -u $USER` -it --rm -v somepath:somepathincontainer IMAGE
I have this error : 我有这个错误:
Traceback (most recent call last):
File "/usr/local/bin/readmapper", line 4, in <module>
__import__('pkg_resources').run_script('MYTOOL==1.0.1', 'MYTOOL')
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 719, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 1504, in run_script
exec(code, namespace, namespace)
File "/usr/local/lib/python3.5/dist-packages/MYTOOL-1.0.1-py3.5.egg/EGG-INFO/scripts/MYTOOL", line 5, in <module>
from MYTOOL import FUNC1, FUNC2, FUNC3
File "/usr/local/lib/python3.5/dist-packages/MYTOOL-1.0.1-py3.5.egg/MYTOOL/FUNC3.py", line 6, in <module>
import pandas as pd
File "/usr/local/lib/python3.5/dist-packages/pandas/__init__.py", line 42, in <module>
from pandas.core.api import *
File "/usr/local/lib/python3.5/dist-packages/pandas/core/api.py", line 10, in <module>
from pandas.core.groupby.groupby import Grouper
File "/usr/local/lib/python3.5/dist-packages/pandas/core/groupby/__init__.py", line 2, in <module>
from pandas.core.groupby.groupby import (
File "/usr/local/lib/python3.5/dist-packages/pandas/core/groupby/groupby.py", line 49, in <module>
from pandas.core.frame import DataFrame
File "/usr/local/lib/python3.5/dist-packages/pandas/core/frame.py", line 74, in <module>
from pandas.core.series import Series
File "/usr/local/lib/python3.5/dist-packages/pandas/core/series.py", line 80, in <module>
import pandas.plotting._core as gfx
File "/usr/local/lib/python3.5/dist-packages/pandas/plotting/__init__.py", line 11, in <module>
from pandas.plotting._core import boxplot
File "/usr/local/lib/python3.5/dist-packages/pandas/plotting/_core.py", line 45, in <module>
from pandas.plotting import _converter
File "/usr/local/lib/python3.5/dist-packages/pandas/plotting/_converter.py", line 8, in <module>
import matplotlib.units as units
File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 1133, in <module>
rcParams = rc_params()
File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 967, in rc_params
fname = matplotlib_fname()
File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 796, in matplotlib_fname
configdir = _get_configdir()
File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 649, in _get_configdir
return _get_config_or_cache_dir(_get_xdg_config_dir())
File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 626, in _get_config_or_cache_dir
return _create_tmp_config_dir()
File "/usr/lib/python3/dist-packages/matplotlib/__init__.py", line 555, in _create_tmp_config_dir
tempdir = os.path.join(tempdir, 'matplotlib-%s' % getpass.getuser())
File "/usr/lib/python3.5/getpass.py", line 170, in getuser
return pwd.getpwuid(os.getuid())[0]
KeyError: 'getpwuid(): uid not found: 1001'
I have no name!@c9368637178d:/$ id
uid=1001 gid=0(root) groups=0(root)
Ask to me for further information. 向我询问更多信息。
解决了在DockerFile上添加此问题
RUN useradd MYUSERNAME --uid 1001
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.