itsource

도커 파일을 사용하여 로컬 wp-content 파일을 Wordpress 컨테이너에 복사하는 방법

mycopycode 2023. 10. 29. 19:42
반응형

도커 파일을 사용하여 로컬 wp-content 파일을 Wordpress 컨테이너에 복사하는 방법

시작할 때 로컬 폴더(파일 포함)를 복사할 워드프레스 컨테이너가 있습니다.

폴더에 로컬 파일이 있는 경우:

/html/wp-content/plugins
/html/wp-content/themes
/html/wp-content/uploads

다음이 포함된 도커 파일이 있습니다.

FROM wordpress

COPY ./html/wp-content/plugins/ /var/www/html/wp-content/plugins
COPY ./html/wp-content/themes/ /var/www/html/wp-content/themes
COPY ./html/wp-content/uploads/ /var/www/html/wp-content/uploads

ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["apache2-foreground"]

COPY가 성공(빌드 패스)하고 있지만 파일이 이 대상 폴더에 표시되지 않습니다.

/html 이전의 경로에 있는 대상 폴더를 변경하면(예: 대상 폴더를 /var 또는 /var/www로 설정하면 파일이 복사되고 컨테이너에서 볼 수 있습니다.

여기오래된 게시물을 확인했는데, 시작할 때 /html 폴더가 볼륨으로 마운트되어 있으므로 먼저 파일을 이 폴더에 복사해야 한다고 합니다.

/usr/src/wordpress/wp-content

그런 다음 시작할 때 이 폴더들은 /var/www/html/wp-content/에 자동으로 복사됩니다. (이것은 직접 복사가 작동하지 않는 이유를 설명합니다.)

나도 시도해봤는데, 내 로컬 폴더가 실제로 이 폴더에 복사되지만(컨테이너에 있는 폴더를 볼 수 있지만), 시작할 때는 /var/www/html/content에 복사되지 않습니다!

  1. 도커 파일을 통해 로컬 파일을 /var/www/html 폴더에 직접 복사할 수 있습니까?
  2. 그렇지 않은 경우 /usr/src/wordpress/wp-content로 복사할 경우 시작 시 폴더가 /var/www/html/wp-content/로 복사되는지 확인하려면 어떻게 해야 합니까?

(내가 살펴 본 몇몇 게시물은 작동하지 않습니다. 이것은 Wordpress만의 것이 아니라 Dockerfile COPY 자체가 아닌 것 같기 때문입니다.)

도커 파일 복사 유지 하위 디렉토리 구조 도커가 하위 디렉터리를 컨테이너에 복사하고 있지 않습니다. 폴더를 도커 파일에서 도커 이미지로 복사하는 방법? https://www.serverlab.ca/tutorials/containers/docker/how-to-host-your-wordpress-site-with-docker/ 노출된 폴더에 워드프레스 도커 복사 테마

오늘도 같은 문제에 부딪쳤습니다.카피(COPY)를 이용하여 이미지를 구축할 때 테마를 추가하고 싶었습니다.하지만, 그것은 효과가 없었습니다.이미 wp-content 폴더를 볼륨으로 설정했기 때문입니다.볼륨에 복사할 수 없는 것 같습니다.

다음 링크의 토론을 통해 이를 실감할 수 있었습니다.

https://github.com/docker-library/wordpress/issues/146

아래에 제 워드프레스 도커 파일과 도커 합성 파일을 추가하였습니다.볼륨을 설명한 후 모든 것이 예상대로 작동했습니다.

2년이 지나면 더이상 필요 없으시길 바라요, 하하.

참조 : https://docs.docker.com/samples/wordpress/

도커파일

FROM wordpress:latest

WORKDIR /var/www/html

COPY ./wp-content/ ./wp-content/
RUN chmod -R 755 ./wp-content/


도커- compose.yml

version: "3"
services:
  db:
    build:
      context: .
      dockerfile: ./compose/local/db/Dockerfile
    image: new_db_image_name
    container_name: new_db_image_name
    command: '--default-authentication-plugin=mysql_native_password'
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=somewordpress
      - MYSQL_DATABASE=wordpress
      - MYSQL_USER=wordpress
      - MYSQL_PASSWORD=wordpress
    expose:
      - 3306
      - 33060
  wordpress:
    build:
      context: .
      dockerfile: ./compose/local/wordpress/Dockerfile
    image: new_wordpress_image_name
    container_name: new_wordpress_image_name
#    volumes:
#      - wp-content:/var/www/html/wp-content
    ports:
      - 80:80
    restart: always
    environment:
      - WORDPRESS_DB_HOST=db
      - WORDPRESS_DB_USER=wordpress
      - WORDPRESS_DB_PASSWORD=wordpress
      - WORDPRESS_DB_NAME=wordpress

volumes:
  db_data:
#  wp-content:



언급URL : https://stackoverflow.com/questions/63833470/how-to-copy-local-wp-content-files-to-wordpress-container-using-dockerfile

반응형