Docker 볼륨을 사용한 WP-CLI 파일 권한 문제
wordpress:cli컨테이너가 공유된 볼륨의 파일을 조작할 수 없습니다.wordpress컨테이너.
여기 있습니다.docker-compose.ymlWordPress를 부트스트랩하는 데 사용하는 파일:
version: "3"
services:
wordpress:
image: wordpress
ports: ["80:80"]
volumes: ["wp_test:/var/www/html"]
environment:
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: secret
mysql:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: secret
cli:
image: wordpress:cli
volumes: ["wp_test:/var/www/html"]
command: sh -c "sleep 20 && wp core install --path=/var/www/html --url=localhost --title=test --admin_user=test --admin_password=test --admin_email=test@example.com"
volumes:
wp_test:
시작은docker-compose up그리고 언제wp-cli설치를 설정하면 다음과 같은 경고가 표시됩니다.
cli_1 | Warning: Unable to create directory wp-content/uploads/2018/02. Is its parent directory writable by the server?
설치는 현재까지 작동하지만 다른 경우에는 이 경고를 수정하고 싶습니다.wp-cli파일을 조작하는 작업은 매우 중요합니다.
안에서wordpress컨테이너, 권한은 다음과 같습니다.
drwxr-xr-x 5 www-data www-data 4096 Feb 2 11:21 .
drwxr-xr-x 4 root root 4096 Jan 4 01:30 ..
-rw-r--r-- 1 www-data www-data 234 Feb 2 11:21 .htaccess
-rw-r--r-- 1 www-data www-data 418 Sep 25 2013 index.php
-rw-r--r-- 1 www-data www-data 19935 Jan 6 19:32 license.txt
-rw-r--r-- 1 www-data www-data 7413 Dec 12 2016 readme.html
-rw-r--r-- 1 www-data www-data 5434 Sep 23 12:21 wp-activate.php
drwxr-xr-x 9 www-data www-data 4096 Jan 16 21:39 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 Feb 2 11:21 wp-config-sample.php
-rw-r--r-- 1 www-data www-data 3144 Feb 2 11:21 wp-config.php
drwxr-xr-x 4 www-data www-data 4096 Feb 2 11:22 wp-content
-rw-r--r-- 1 www-data www-data 3669 Aug 20 04:37 wp-cron.php
drwxr-xr-x 18 www-data www-data 12288 Jan 16 21:39 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 3306 Aug 22 11:52 wp-load.php
-rw-r--r-- 1 www-data www-data 36583 Oct 13 02:10 wp-login.php
-rw-r--r-- 1 www-data www-data 8048 Jan 11 2017 wp-mail.php
-rw-r--r-- 1 www-data www-data 16246 Oct 4 00:20 wp-settings.php
-rw-r--r-- 1 www-data www-data 30071 Oct 18 17:36 wp-signup.php
-rw-r--r-- 1 www-data www-data 4620 Oct 23 22:12 wp-trackback.php
-rw-r--r-- 1 www-data www-data 3065 Aug 31 2016 xmlrpc.php
그러나 내부로부터cli동일한 볼륨의 컨테이너는 다음과 같습니다.
drwxr-xr-x 5 www-data www-data 4096 Feb 2 11:21 .
drwxr-xr-x 3 root root 4096 Jan 10 07:36 ..
-rw-r--r-- 1 xfs xfs 234 Feb 2 11:21 .htaccess
-rw-r--r-- 1 xfs xfs 418 Sep 25 2013 index.php
-rw-r--r-- 1 xfs xfs 19935 Jan 6 19:32 license.txt
-rw-r--r-- 1 xfs xfs 7413 Dec 12 2016 readme.html
-rw-r--r-- 1 xfs xfs 5434 Sep 23 12:21 wp-activate.php
drwxr-xr-x 9 xfs xfs 4096 Jan 16 21:39 wp-admin
-rw-r--r-- 1 xfs xfs 364 Dec 19 2015 wp-blog-header.php
-rw-r--r-- 1 xfs xfs 1627 Aug 29 2016 wp-comments-post.php
-rw-r--r-- 1 xfs xfs 2764 Feb 2 11:21 wp-config-sample.php
-rw-r--r-- 1 xfs xfs 3144 Feb 2 11:21 wp-config.php
drwxr-xr-x 4 xfs xfs 4096 Feb 2 11:22 wp-content
-rw-r--r-- 1 xfs xfs 3669 Aug 20 04:37 wp-cron.php
drwxr-xr-x 18 xfs xfs 12288 Jan 16 21:39 wp-includes
-rw-r--r-- 1 xfs xfs 2422 Nov 21 2016 wp-links-opml.php
-rw-r--r-- 1 xfs xfs 3306 Aug 22 11:52 wp-load.php
-rw-r--r-- 1 xfs xfs 36583 Oct 13 02:10 wp-login.php
-rw-r--r-- 1 xfs xfs 8048 Jan 11 2017 wp-mail.php
-rw-r--r-- 1 xfs xfs 16246 Oct 4 00:20 wp-settings.php
-rw-r--r-- 1 xfs xfs 30071 Oct 18 17:36 wp-signup.php
-rw-r--r-- 1 xfs xfs 4620 Oct 23 22:12 wp-trackback.php
-rw-r--r-- 1 xfs xfs 3065 Aug 31 2016 xmlrpc.php
사용자가 있는 동안cli컨테이너는www-data(에 있는 것처럼)wordpress컨테이너), 원하는 폴더를 만들 수 없습니다.
$ mkdir -p wp-content/uploads/2018/02
mkdir: can't create directory 'wp-content/uploads/': Permission denied
Mac에서 도커 컴포지트 1.18.0과 도커 엔진 17.12.0-ce를 실행하고 있습니다.
저는 github 이슈도 만들었습니다.
"Docker 볼륨을 사용하여 WP-CLI 파일 권한 문제를 해결하려면 어떻게 해야 합니까?"라는 질문이 있을 것입니다.
wp-cli를 두 컨테이너에서 동일한 UID로 실행해야 합니다.
명령줄에서:
docker run -it --rm \
--volumes-from $container \
--network container:$container \
--user 33:33 \
wordpress:cli core install --path=/var/www/html --url=localhost --title=test --admin_user=test --admin_password=test --admin_email=test@example.com
--user 33:33WordPress 컨테이너에 있는 www-data와 동일한 UID/GID로 wp-cli를 실행하기 위한 해결 방법입니다.컨테이너의 www-data에 대한 UID/GID가 다르기 때문에 문제가 발생합니다.https://github.com/docker-library/wordpress/issues/256 을 참조하십시오.
추가할 수 있어야 합니다.user: "33:33"당신의 도커 다운로드 파일에도.https://github.com/docker/compose/issues/1532 을 참조하십시오.
언급URL : https://stackoverflow.com/questions/48582039/wp-cli-file-permission-problems-using-docker-volumes
'programing' 카테고리의 다른 글
| 데이터 프레임의 두 개 이상의 열을 새 이름의 새 열로 결합 (0) | 2023.06.26 |
|---|---|
| "삭제 캐스케이드" 제약 조건을 추가하는 방법은 무엇입니까? (0) | 2023.06.26 |
| 내보낸 Firebase 메시징 서비스 구현에 대한 안드로이드 린트 불만을 해결하는 방법은 무엇입니까? (0) | 2023.06.26 |
| Mongoids는 무서운 URL로 이어집니다. (0) | 2023.06.26 |
| Git - push.default "matching"과 "simple"의 차이점은 무엇입니까? (0) | 2023.06.26 |