
Shiny 코드에 대한 것을 다루고 있지는 않고, 각종 통계 등을 Shiny를 통해서 보여주고 있음. Shiny 코드 작성 요령이라도 배워볼려고 상호대차 신청했는데 해결할 때쯤 도착했음.
🤣
Shiny 코드에 대한 것을 다루고 있지는 않고, 각종 통계 등을 Shiny를 통해서 보여주고 있음. Shiny 코드 작성 요령이라도 배워볼려고 상호대차 신청했는데 해결할 때쯤 도착했음.
🤣
조금 헤매기는 했지만, 내가 구현하고자 하는 부분은 구현할 수 있겠다. 오늘은 파일 전송과 관련된 WebDav이다.
OCR 과 관련되어서 내가 구현하고자 하는 부분은 다음과 같다.
location /webdav {
proxy_pass http://webdav.private/;
}
도커 이미지를 빌드할 때 외부의 파일을 넣어야 하는 경우가 있다.
특정 파일에 특정 내용을 추가하면 되는 경우에는 echo 를 이용한다.
RUN echo "AAA" >> /etc/a.txt
특정 파일 내용을 바꿔야 하는 경우에는 sed를 이용한다. (맞나?)
RUN sed -i 's/FROM/TO/g' /etc/a.txt
특정 파일을 복사해서 넣어야 하는 경우에는 ADD와 COPY가 가능하다. ADD는 인터넷에 있는 파일도 입력해서 넣어줄 수 있는 장점이 있다. 단점으로는 내가 시도한 범위 내에서는 권한이 600으로 고정된다. 다른 권한을 부여하기 위해서는 미리 권한 변경을 한 파일을 빌드할 폴더에 넣어두고 COPY로 복사해서 넣어주면 된다.
리눅스에서 계정을 생성하는 방법에는 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