리눅스에서 계정을 생성하는 방법에는 useradd와 adduser가 있다. 한 번만 실행할 것이라면 adduser로 하는 것이 홈디렉토리와 비밀번호를 한 번에 만들 수 있으므로 편하다.
Docker에서는 root가 기본 계정이다. 비밀번호는 제공되지 않는다. 비밀번호가 없기 때문에 발생하는 문제들도 있고 Python 은 root로 실행하면 경고 문구가 실행할 때마다 나온다. 그래서 Docker에서 계정을 만들어서 이용해 보기로 했다. 계정을 꼭 만들어야겠다고 생각한 이유는 RStudio는 꼭 비밀번호가 있어야 접속을 할 수 있기 때문이다.
useradd로 할 경우 홈 폴더는 -m 옵션을 이용하면 관습적인 위치에 만들어 준다. 비밀번호는 encrypted 된 것을 입력해 주어야 한다. 이것을 이해 못해서 문제를 해결하는데 시간이 꽤 걸렸다.
Dockerfile에서 다음과 같이 실행하여 준다. 예시는 byun1114 계정에 1을 비빌번호로 사용하겠다고 할 경우이다.
RUN useradd -m -p $(echo "1" | openssl passwd -1 -stdin) byun1114