사용자 정의 테마를 개발하고 배포하기 위해 Docker를 구성하려면 어떻게해야합니까?


12

Docker를 시작하고 있으며 여전히 전문적인 WordPress 개발 관행에 익숙하지 않습니다. 사용자 정의 WordPress 테마 개발을 수행 할 수 있도록 Docker 개발 환경 (Mac에서)을 설정하고 싶습니다.

이전에이 작업을 수행했으며 이미 Docker를 사용하고 있다고 가정하면 어떻게 설정 했습니까? Dockerfile과 docker-compose.yml는 어떻게 생겼습니까? 나는 이것이 전에 이루어 졌다고 확신한다. 이미 당신을 위해 이것을 설정할 수있는 한 줄 명령이 있다면 놀라지 않을 것입니다.

업데이트 : 이 주제를 다음 질문으로 좁혔습니다.

사용자 정의 테마를 개발하고 배포하기 위해 Docker를 구성하려면 어떻게해야합니까?


방금 두 개의 링크 전용 답변을 삭제해야했습니다. 질문에 8 개의 공감대가 있으므로, 해결할 수있는 하나의 질문으로 좁히시겠습니까?
kaiser

@kaiser "Professional WordPress 개발"은 잘 문서화되어 있지 않으므로 많은 사람들 (나 자신을 포함하여)은 사용자 정의 WordPress 테마를 개발하고 배포하기 위해 전문적인 방법으로 WordPress를 사용하는 방법을 배우려고합니다. Docker를 사용하면 프로덕션 환경을 미러링하는 환경을 만들 수 있지만 새로운 영역이기도하므로 사람들이 Docker를 WordPress 개발 워크 플로에 통합하는 방법을 알고 싶습니다.
Andrew

앤드류, 이 사이트에서 어떤 종류의 질문을 계속하는지 보려면 이 텍스트 를 살펴보십시오. 귀하의 질문은 매우 주관적이고 개방적이며 의견을 기반으로하거나 답변 만 연결합니다. 변경하지 않으면 질문을 닫아야합니다. 감사.
카이저

@kaiser 좋아, 나는 이것을 더 집중된 질문으로 바꾸기 위해 최선을 다했다.
Andrew

답변:


7

빈칸이나 대체 답변을 채울 유용한 의견을 얻기 위해 토론을 시작하기 위해 부분 답변을 게시 할 것입니다 ...

1 단계 : boot2docker 설치 및 설정

Docker는 Linux에서만 실행됩니다. 따라서 Mac에서 Docker를 사용하려면 boot2dockerLinux VM에서 Docker를 실행하는 을 설치해야합니다 . Homebrew를boot2docker 사용하여 설치할 수 있습니다 .

brew install boot2docker

설치가 끝나면 boot2docker를 설정하고 시작하십시오 :

boot2docker init
boot2docker start

다음으로, docker-compose가 boot2docker VM에서 Docker를 찾을 수 있도록 일부 환경 변수를 설정하는 명령을 실행해야합니다.

eval "$(boot2docker shellinit)"

변수를 내보내는 행을 추가하여 ~/.bash_profile새 터미널 창을 열 때마다 명령을 실행할 필요가 없도록 할 수 있습니다.

2 단계 : docker-compose 설치

Docker 컨테이너 사이의 관계를 실제로 쉽게 정의 할 수 있는 Docker 플러그인 docker-compose(원래는이라고 함 fig)이 있습니다. Homebrew를 사용하여 설치할 수도 있습니다.

brew install docker-compose

3 단계 : docker-compose.yml 만들기

Docker 레지스트리 에는 공식 WordPress Docker 이미지 가 있습니다. Docker를 수동으로 시작하는 데 필요한 정보가 모두 포함되어 있습니다. 내가 알 수있는 한, 우리는를 사용할 것이기 때문에 모든 것을 건너 뛸 수 있습니다 docker-compose. WordPress 테마로 작업 할 디렉토리에서 docker-compose.yml다음 내용으로를 작성하십시오.

wordpress:
  image: wordpress
  links:
    - db:mysql
  ports:
    - 8080:80
  volumes:
    - .:/var/www/html/wp-content/themes/my-theme-name

db:
  image: mariadb
  environment:
    MYSQL_ROOT_PASSWORD: example

volumes구성은 도커 용기 내부의 새로운 테마 디렉토리에 현재 디렉토리에 우리의 테마 파일을 연결합니다.

4 단계 : 컨테이너 시작

실행 docker-compose up하면 WordPress 설치를 실행하는 두 개의 Docker 컨테이너 ( "wordpress"및 "db")가 설정됩니다.

5 단계 : 브라우저에서 사이트 열기

우리 docker-compose.yml우리는 또한 8080 포트에 포트 80을 전달하는 것으로 구성 지정, boot2docker특정 IP 주소에 자사의 VM을 실행합니다. 따라서 URL을 파악하려면 다음 boot2docker ip명령 을 사용해야합니다 .

open http://$(boot2docker ip):8080

질문

컨테이너가 준비되어 있으므로 몇 가지 질문이 있습니다 ...

  1. 에 나열된 내보내기를 복사하여 붙여 넣는 것 외에 boot2docker 환경 변수를 자동으로 설정하는 방법이 boot2docker shellinit있습니까?

  2. Rails 애플리케이션에서 작업 할 때 특정 포트 / IP를 사용하는 대신 명명 된 도메인을 사용하여 앱에 액세스 할 수 있도록 Pow 를 사용 하고 싶습니다 .dev. http://mysite.dev를 사용하여 호스트에 액세스 할 수 있도록 시스템 (또는 Pow)을 어떻게 구성 할 수 있습니까?

  3. 내가 놓친 단계가 있습니까? 아니면 끝에 추가해야 할 단계가 있습니까?


두 번째 질문입니다. docker nginx proxy github.com/jwilder/nginx-proxy를 사용해보십시오 .
Zhe Li

0

이를 위해 내가 선호하는 솔루션은 Docker와 함께 Composer를 사용하는 것입니다. Docker는 환경을 처리하고 Composer는 테마, 플러그인 및 기타 필요한 패키지를 포함하는 종속성을 처리합니다.

내 로컬 Docker 설정은 다음과 같습니다.

https://github.com/alexmacarthur/wp-skateboard

다음은 Composer를 사용하여 _s 테마를 다운로드하여 내 themes디렉토리에 배치하는 지점입니다 .

https://github.com/alexmacarthur/wp-skateboard/tree/starter-theme-underscores

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.