도커의 Word press: 마운트된 볼륨에 디렉터리를 만들 수 없습니다.
의 Wordpress Docker 경로의 입니다./var/www/html
:
$ docker exec 5b957c7b9c5ad054883694afbfb80d3c9df6707458d55011f471be0701f3890c ls -l
total 192
-rw-r--r-- 1 www-data www-data 418 Sep 25 2013 index.php
-rw-r--r-- 1 www-data www-data 19935 Jan 2 18:51 license.txt
-rw-r--r-- 1 www-data www-data 7433 Jan 11 17:46 readme.html
-rw-r--r-- 1 www-data www-data 5447 Sep 27 2016 wp-activate.php
drwxr-xr-x 9 www-data www-data 4096 May 16 21:50 wp-admin
-rw-r--r-- 1 www-data www-data 364 Dec 19 2015 wp-blog-header.php
-rw-r--r-- 1 www-data www-data 1627 Aug 29 2016 wp-comments-post.php
-rw-r--r-- 1 www-data www-data 2764 May 29 22:19 wp-config-sample.php
-rw-r--r-- 1 www-data www-data 3148 May 29 22:19 wp-config.php
drwxr-xr-x 4 www-data www-data 4096 May 16 21:50 wp-content
-rw-r--r-- 1 www-data www-data 3286 May 24 2015 wp-cron.php
drwxr-xr-x 18 www-data www-data 12288 May 16 21:50 wp-includes
-rw-r--r-- 1 www-data www-data 2422 Nov 21 2016 wp-links-opml.php
-rw-r--r-- 1 www-data www-data 3301 Oct 25 2016 wp-load.php
-rw-r--r-- 1 www-data www-data 33939 Nov 21 2016 wp-login.php
-rw-r--r-- 1 www-data www-data 8048 Jan 11 05:15 wp-mail.php
-rw-r--r-- 1 www-data www-data 16255 Apr 6 18:23 wp-settings.php
-rw-r--r-- 1 www-data www-data 29896 Oct 19 2016 wp-signup.php
-rw-r--r-- 1 www-data www-data 4513 Oct 14 2016 wp-trackback.php
-rw-r--r-- 1 www-data www-data 3065 Aug 31 2016 xmlrpc.php
사용자 지정 파일을 영구적으로 저장할 수 있도록 도커 볼륨이 마운트된 Wordpress 컨테이너를 시작하려고 합니다.
$ sudo docker run -p 80:80 --link some-mysql:mysql -v /var/www:/var/www/html --name docker-wordpress -d wordpress
는 의 입니다./var/www
:
$ sudo chown -R www-data:www-data /var/www
$ sudo find /var/www/ -type d -exec chmod 755 {} \;
$ sudo find /var/www/ -type f -exec chmod 644 {} \;
컨테이너 내에서 Wordpress를 실행할 때 다음과 같은 오류가 여전히 나타납니다.
디렉토리를 작성할 수 없습니다.
Wordpress가 마운트된 도커 볼륨에 쓸 수 있도록 권한을 올바르게 설정하는 방법은 무엇입니까?
당신의 오류 메시지를 보고 당신이 플러그인을 설치하거나 워드프레스를 업데이트하려고 한다는 결론을 내렸습니다.
이 문제는 좀 이해하기 어렵다.
, 「」의chown -R www-data:www-data /var/www
'CHANGE: 'CHANGE: 'CHANGE: 'CHANGE: 'CHANGE: 'CHANGE: 'CHANGE: 'CHANGE: 'CHANGE: 'DO
에 「」를 합니다.upload
&plugins
폴더가 아직 존재하지 않기 때문에 설치 관리자가 이 폴더를 생성하려고 할 때plugins/subfolder
에러가 발생합니다.
Wordpress / Docker 플러그인 설치 권한 문제 수정 방법
그러나 이 문제를 파악하는 것은 매우 쉽습니다.
옵션 A
안에서.Docker
following은 맨 끝에 추가 전에 following following following following following following following following following following.[CMD]
명령어를 입력합니다.
RUN mkdir /var/www/html/wp-content/plugins
RUN mkdir /var/www/html/wp-content/uploads
RUN chown -R www-data:www-data /var/www
RUN find /var/www/ -type d -exec chmod 0755 {} \;
RUN find /var/www/ -type f -exec chmod 644 {} \;
옵션 B
in your container(도커 )
docker exec -it <container_name> /bin/bash
함께 .
docker ps
만 하면 됩니다.
$ mkdir /var/www/html/wp-content/plugins
$ mkdir /var/www/html/wp-content/uploads
$ chown -R www-data:www-data /var/www
$ find /var/www/ -type d -exec chmod 0755 {} \;
$ find /var/www/ -type f -exec chmod 644 {} \;
Mathias Asberg의 답변에 따라 2개의 폴더(플러그인 및 업로드 권한 갱신 및 볼륨 마운트)를 작성할 수 있습니다.
순서:
mkdir plugins uploads
chmod -R 777 plugins uploads
- docker-display를 업데이트합니다.볼륨을 마운트하려면 yaml
volumes: #
- ./plugins:/var/www/html/wp-content/plugins
- ./uploads:/var/www/html/wp-content/uploads
마운트된 볼륨을 사용하고 있을 때도 마찬가지로 호스트 운영 체제와 WordPress 도커 이미지 모두에서 파일을 관리할 수 있는지 확인하고 싶었습니다.
도커 내에서 WordPress 사이트는 UID 82를 사용하여 사용자 www-data로 실행됩니다.또한 연관된 www-data 그룹도 있으며 그룹 ID는 82입니다.www-data와 동일한 ID로 호스트 OS에 그룹을 만들고 그룹 소유권을 해당 그룹으로 변경하면 호스트와 도커 이미지 모두 파일을 관리할 수 있습니다.
이 예에서는 호스트 OS 상에서 ec2-user라는 사용자에게 접근 권한을 부여합니다.모든 스크립트는 호스트 OS 상에서 실행됩니다.
- 먼저 호스트에 www-data와 동일한 ID를 가진 기존 사용자 또는 그룹이 있는지 확인합니다.
getent group | grep 82
cat /etc/passwd | grep 82
- 사용자/그룹 경합이 없다고 가정하고 도커 내의 www-data 그룹과 동일한 그룹 ID를 가진 그룹을 호스트에 만들고 필요한 사용자를 해당 그룹에 추가합니다.다음 예에서는 호스트에서 동일한 그룹 이름을 사용합니다.
sudo groupadd -g 82 www-data
sudo usermod -a -G www-data ec2-user
- 마지막으로 파일 그룹 소유권을 변경하고 업데이트 권한을 변경하여 호스트와 도커 모두에서 www 데이터 그룹에 읽기 및 쓰기 권한을 부여합니다.
sudo chgrp -R www-data ~/repos/site/html
find ~/repos/site/html -type d -exec chmod 0775 {} \;
find ~/repos/site/html -type f -exec chmod 664 {} \;
이것에 의해, 도커 이미지내에서 다음의 권한이 생깁니다.호스트의 ec2 유저와 도커가 있는 www 데이터 모두 html내의 모든 파일과 폴더를 읽고 쓸 수 있습니다.
bash-5.0# ls -lah
total 248K
drwxrwxr-x 5 1000 www-data 4.0K Apr 25 09:03 .
drwxr-xr-x 3 root root 18 Oct 21 2019 ..
-rw-rw-r-- 1 1000 www-data 405 Apr 23 12:21 index.php
-rw-rw-r-- 1 1000 www-data 19.1K Apr 23 12:21 license.txt
-rw-rw-r-- 1 1000 www-data 7.3K Apr 23 12:21 readme.html
-rw-rw-r-- 1 1000 www-data 7.0K Apr 23 12:21 wp-activate.php
drwxrwxr-x 9 1000 www-data 4.0K Apr 23 12:22 wp-admin
-rw-rw-r-- 1 1000 www-data 351 Apr 23 12:21 wp-blog-header.php
-rw-rw-r-- 1 1000 www-data 2.3K Apr 23 12:21 wp-comments-post.php
-rw-rw-r-- 1 1000 www-data 2.8K Apr 23 12:35 wp-config-sample.php
-rw-rw-r-- 1 1000 www-data 3.4K Apr 23 12:35 wp-config.php
drwxrwxr-x 6 1000 www-data 84 Apr 23 12:22 wp-content
-rw-rw-r-- 1 1000 www-data 3.8K Apr 23 12:22 wp-cron.php
drwxrwxr-x 26 1000 www-data 12.0K Apr 23 12:22 wp-includes
-rw-rw-r-- 1 1000 www-data 2.4K Apr 23 12:22 wp-links-opml.php
-rw-rw-r-- 1 1000 www-data 3.8K Apr 23 12:22 wp-load.php
-rw-rw-r-- 1 1000 www-data 46.8K Apr 23 12:22 wp-login.php
-rw-rw-r-- 1 1000 www-data 8.4K Apr 23 12:22 wp-mail.php
-rw-rw-r-- 1 1000 www-data 22.5K Apr 23 12:22 wp-settings.php
-rw-rw-r-- 1 1000 www-data 31.2K Apr 23 12:22 wp-signup.php
-rw-rw-r-- 1 1000 www-data 4.6K Apr 23 12:22 wp-trackback.php
-rw-rw-r-- 1 1000 www-data 3.2K Apr 23 12:22 xmlrpc.php
언급URL : https://stackoverflow.com/questions/44251019/wordpress-on-docker-could-not-create-directory-on-mounted-volume
'programing' 카테고리의 다른 글
Oracle sql 쿼리에서 "Join"을 사용하여 삭제 (0) | 2023.03.08 |
---|---|
순서 없이 동일한 속성을 가진 두 JSON을 비교하려면 어떻게 해야 합니까? (0) | 2023.03.08 |
mongoimport를 사용하여 파일에서 mongodb로 json 가져오기 (0) | 2023.03.08 |
JSON을 검증하기 위한 정규식 (0) | 2023.03.08 |
기능 구성요소의 기능은 어디로 이동해야 합니까? (0) | 2023.03.08 |