2016-12-07 1 views
1

www-data 사용자와 함께 PHP-FPM이있는 도커 컨테이너가 있습니다. 내 로컬 응용 프로그램을 /var/www/html 디렉토리에 매핑하는 볼륨이 있습니다. www-data의 UID를 찾았습니다 (33이라고 가정 해 봅시다). 내 로컬 컴퓨터에서 응용 프로그램 디렉토리를 chown'd 33 : hostuser, 여기서 33은 Docker의 www 데이터 사용자이고 hostuser는 내가 호스트에 속한 그룹입니다. 이제 PHP-FPM은 응용 프로그램의 로그 등에 기록 할 수 있으며 파일을 로컬에 쓸 수 있습니다.도커 컨테이너에있는 두 명의 사용자 외에도 우분투 시스템의 사용자에게 도커 볼륨에 대한 모든 권한을 부여하는 방법은 무엇입니까?

이제 까다로운 부분 : PhpStorm이 PHPUnit 테스트를 실행하는 중입니다. PHP 용 원격 판독기로 도커 컨테이너를 설정하고 있습니다. 즉, PhpStorm은 컨테이너에 HHS를 넣고 테스트를 실행합니다. 이제 SSH 할 수있는 컨테이너에 새 사용자를 만들어야합니다. 이제 문제는이 새로운 사용자가 앱 디렉토리 (www-data is)의 소유자가 아니며 그룹이 컨테이너 내의 모든 사용자에게 속한 것이 아니라는 것입니다.

나는 올바른 방향으로 가고 있습니까? 그렇다면 모든 3 명의 사용자가 컨테이너에 액세스 할 수있게하는 가장 좋은 방법은 무엇입니까? 나는 www 데이터 사용자를 위해 SSH를 사용할 수 있을지 생각하고 있었지만, 제대로 작동하지 못하게되었습니다. 어쨌든 좋은 생각이 아닌 것 같습니다.

+0

이 최신 PhpStorm 2016.3 허용 (당신이 ~www-data/.ssh/authorized-keys에 공개 키를 추가 할 의미) Docker 기반 인터프리터로 작업 할 수 있습니다. (이해할 수 있듯이 (여기 Docker 사용자가 아님)) SSH 로그인이 필요하지 않습니다 ... – LazyOne

답변

0

in this example, 당신은 당신이 다음에 ssh를 사용할 수있는 www-data사용자 (뿐만 아니라 그룹), 정의 할 수

# ensure www-data user exists 
RUN set -x ; \ 
    addgroup -g 33 -S www-data ; \ 
    adduser -u 33 -D -S -G www-data www-data && exit 0 ; exit 1 
+0

현재 "33"(nginx가 컨테이너에 있음) , 호스트에서 유효하지 않음) 및 "1000"(호스트의 myuser, 컨테이너에서 유효하지 않음)이 소유하는 그룹화. 호스트 컴퓨터에서 www-data를 UID 33으로 만들고 응용 프로그램 디렉토리의 그룹을 33로 설정 하시겠습니까? 새 사용자를 그룹 33에 추가 하시겠습니까? –

+0

@Blossoming_Flower 예제는 guid에 33을 사용했지만, 귀하의 경우에는 1000을 유지할 수 있습니다. – VonC

관련 문제