Оболочка Fish не работает должным образом при входе в систему как пользователь без полномочий root в контейнере Docker - PullRequest
0 голосов
/ 10 декабря 2018

Я могу запустить контейнер от имени пользователя root и затем отредактировать файл sudoers, чтобы предоставить привилегии adam sudo.Я нахожусь в оболочке рыбы, поскольку dockerfile указывает ниже

root@9d2548623b8f /app# visudo

и добавляю

adam ALL=(ALL) ALL

Теперь Адам может запускать scict из gunicorn, который он не мог запустить ранее как непривилегированный пользователь.

Проблема в том, что рыбный терминал полностью изменился ... На самом деле, когда я делаю

su -adam

Вместо

adam@9d2548623b8f /app# 

В ответ на приглашение я получаю

/app # 

Нет цветовой кодировки идентификатора контейнера, нет автозаполнения ... Но я могу запустить скрипт, который является главным.Но на самом деле я даже не знаю, нахожусь ли я в рыбе или рыбе ...

Dockerfile

FROM python:3.6.6-alpine3.7

WORKDIR /app
COPY . /app

RUN addgroup -g 1000 -S adam 
RUN adduser -u 1000 -S adam -G adam


RUN apk --no-cache add shadow \
                   build-base \
                   # dev dependencies
                   bash \
                   sudo \
                   fish \
                   vim\
                   # Pillow dependencies
                   jpeg-dev \
                   zlib-dev \
                   freetype-dev \
                   lcms2-dev \
                   openjpeg-dev \
                   tiff-dev \
                   tk-dev \
                   tcl-dev \
                   harfbuzz-dev \
                   fribidi-dev\
                   # psycopg2 dependencies
                   postgresql-dev

RUN usermod -s usr/bin/fish adam

RUN pip install pipenv
RUN pipenv install --deploy --system 

CMD ["fish"]
...