본문 바로가기
반응형

docker10

도커 실행시 타임존 동기화 및 생성 파일 권한 도커로 MariaDB를 실행하던 도중에 타임존이 현재 OS와 다르게 표시되었다. 컨테이너의 timezone이 달라서 발생하는 문제, Volume를 이용하여 /etc/localtime을 이용하도록 수정, (해당 내용은 Tomcat 등 모든 컨테이너에 동일하게 적용하였다.) 또한 컨테이너 외부에 데이터베이스 파일 및 로그 파일이 기록되도록 설정하였으나, 도커 내부의 권한으로 인해서 root로 접근하여 권한을 변경하는 등의 작업 후 파일을 접근 할수 있어서 -u 옵션을 통해서 해당 파일을 컨테이너를 실행한 시점에서의 UID, GID를 설정하여, 기록되도록 함. 단점은 컨테이너 내부에서 파일을 사용할 때 문제가 있을 수 있음. docker run -dit \ --name sv_db \ --net=host \ -.. 2020. 2. 6.
Docker Container에서 외부 파일 생성시 권한 문제 Docker Container에서 외부 파일 생성시 권한 문제 도커를 이용하여 톰캣, MariaDB 설정을 하고, 컨테이너에서 발생한 파일(로드, 데이터베이스) 등은 HOST 디렉터리에 volume로 연결해서 HOST에 파일이 기록되도록 설정하였다. 그 결과 로그파일의 경우 Container에서 존재하는 UID로 생성되어 톰캣 로그의 경우 root로 로그파일이 생성되었다. 로그 파일을 보기 위해서는 root 권한으로 확인을 하던지, 파일의 소유권을 변경해야 했다. 찾아본 결과 실행 시점에서 -u `stat -c "uid:gid" HOST_DIR` 를 설정하여 해당 파일의 권한을 변경할 수 있었다. $ docker run -dit \ --name tomcat \ --net=host \ -v /home/us.. 2019. 12. 18.
반응형