루트가 아닌 사용자를 사용하여 Docker 컨테이너에서 sudo 명령 실행

루트가 아닌 사용자를 사용하여 Docker 컨테이너에서 sudo 명령 실행

이 Dockerfile이 있습니다.

FROM ubuntu:17.04

# Must have packages
RUN apt-get update && apt-get install -y nano zsh curl git

# Instal Oh my Zsh
RUN bash -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
RUN sed -i -- 's/robbyrussell/sonicradish/g' /root/.zshrc 

# Add none root user
RUN adduser admin
USER admin

관리자 사용자와 연결하기 위해 zsh 쉘을 사용하고 있습니다.

docker exec -ti linux zsh

루트가 아닌 사용자(관리자)를 추가하고 있습니다.

sudo이 사용자로 명령을 실행하고 싶지만 오류가 발생합니다.

$ sudo apt-get install vim
zsh: command not found: sudo

bash 쉘과 동일한 메시지입니다.

sudo루트가 아닌 사용자를 사용하여 명령을 실행하려면 어떻게 해야 합니까 ?

사용하지 않으면 sudo권한 오류가 발생합니다.

$ apt-get install vim
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

답변1

설치 목록에 추가하세요 sudo. 대부분의 Docker 컨테이너에는 함께 제공되지 않습니다. 우분투는 잘 모르지만 Fedora나 CentOS는 이런 건 알겠습니다.

관련 정보