도커 컨테이너 내의 워드프레스 플러그인 업데이트
나의 시나리오는 다음과 같습니다.
자주 수정되는 플러그인을 개발하고 있습니다.새로운 버전의 워드프레스를 설치하고 모든 데이터베이스와 플러그인을 개발 환경에서 Import하는 도커를 사용하여 이미지를 작성해야 합니다.(플러그인은 github에 있습니다)
https://github.com/eugeneware/docker-wordpress-nginx을 사용하여 도커에 워드프레스를 설치했습니다.
이제 질문을 드리겠습니다.
1-도커에 설치 후 Wordpress 파일 및 폴더를 수정할 수 있는 방법이 있습니까(플러그인을 설치하고 Wordpress GUI가 아닌 명령줄 사용)
2-위에서 설명한 것을 달성하려면 가장 좋은 워크플로우는 무엇입니까?
파티에 늦었지만 이 문제에 대한 괜찮은 해결책이 있어요.그것은 다른 대답들에 의해 다루어지지 않으며 미래의 독자들에게도 유용할 것이다.
저는 이것을 ec2 t2-micro 박스에서 편안하게 실행하고 있으며, 지금까지는 완벽하게 동작하고 있습니다.Wordpress, mySQL 및 Nginx는 모두 Docker compose를 통해 자체 컨테이너에 설치되며 Docker 볼륨은 mySQL 및 Wordpress 상태를 유지하기 위해 사용됩니다.여기서 가져온 Nginx 설정에 대한 코드 및 추가 정보.
docker-timeout.yml:
version: '3.6'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: db_root_pass
MYSQL_DATABASE: db
MYSQL_USER: db_user
MYSQL_PASSWORD: db_pass
nginx:
depends_on:
- wordpress
image: nginx:latest
restart: always
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
wordpress:
depends_on:
- db
volumes:
- wp_data:/var/www/html/wp-content
image: wordpress:latest
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: db_user
WORDPRESS_DB_PASSWORD: db_pass
volumes:
db_data:
wp_data:
db_data
와 mySQL 컨테이너 내의 mySQL 데이터 디렉토리에 .wp_data
워드프레스 를 할 수 있는 것은, 「CLI 의」, 「CLI」는, 「CLI」의 「CLI」에 쓰도록 설정할 수 있습니다.wp_data
워드프레스컨테이너를 재구축할 필요가 없습니다.
문제에 대한 두 가지 가능한 답변입니다.저도 지금 고민 중이라서 YMMV입니다.
하고 있는 Docker 컨테이너를 언제든지 할 수 .docker pause
인 컨테이너에서 docker commit
docker push
(실시간 Wordpress 설치는 공용 도커 허브에는 적합하지 않을 수 있습니다). 다시 할 수 있습니다.docker unpause
그런 다음 개발 시스템의 이미지를 업데이트할 수 있습니다. 후 것이 " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " 。docker pull
새로운 이미지를 사용하도록 서비스를 재시작합니다.
좋은 해결책은 아니지만, 효과가 있을 거예요.
Tadeusz의 코멘트에 따르면, 데이터 볼륨에서 WP 설치 전체를 실행할 필요는 없습니다.이러한 데이터 볼륨은 휘발성이 높기 때문에 컨테이너가 삭제되고 데이터 볼륨만 참조되면 모든 것이 손실됩니다(복수의 백업을 유지하지 않는 한 여러 개의 백업을 유지하게 됩니다.
다른 솔루션은 Docker 파일의 일부로 플러그인 변경을 도입하는 것입니다.훨씬 신중한 접근법이지만 Github repo에 커밋하면 새로운 Docker 이미지가 자동으로 작성되도록 웹 후크를 할 수 있습니다.여기서는 자동 빌드 프로세스를 수행하는 방법에 대해 설명합니다.엔드 호스팅의 서버 관리 끝에서는 위에서 설명한 바와 같이 새로운 이미지를 가져와야 합니다.다 했어요.
물론 이 설정은 개발 시스템의 연습으로 남겨집니다.
건배!
언급URL : https://stackoverflow.com/questions/23180800/updating-wordpress-plugins-inside-a-docker-container
'programing' 카테고리의 다른 글
WordPress 템플릿 이름을 번역하는 방법 (0) | 2023.03.14 |
---|---|
div의 오프셋 가져오기반응의 상단 위치 (0) | 2023.03.14 |
CSS 변환 사용: React를 사용한 변환(...)JS (0) | 2023.03.14 |
gs protocol의 의미는 무엇입니까? (0) | 2023.03.14 |
마크다운 파일을 리액트 컴포넌트에 로드하려면 어떻게 해야 합니까? (0) | 2023.03.14 |