Docker'ı özel bir tema geliştirmek ve dağıtmak için nasıl yapılandırabilirim?


12

Docker'ı kullanmaya başlıyorum ve hala profesyonel WordPress geliştirme uygulamalarında yeniyim. Özel WordPress tema geliştirme yapabilmem için bir Docker geliştirme ortamı (Mac'imde) kurmak istiyorum.

Bunu daha önce yaptığınızı ve zaten Docker'ı kullandığınızı varsayarsak, bunu nasıl ayarladınız? Dockerfile ve docker-compose.yml nasıl görünüyor? Eminim bu daha önce yapılmıştır. Bunu sizin için ayarlayabilecek tek satırlık bir komut varsa şaşırmam.

Güncelleme: Bu konuyu aşağıdaki soruya daralttım:

Docker'ı özel bir tema geliştirmek ve dağıtmak için nasıl yapılandırabilirim?


Sadece iki bağlantı sadece cevapları silmek zorunda kaldı. Sorunuzda 8 oy olduğu için, çözülebilir bir soruya daraltmayı düşünür müsünüz?
kaiser

@kaiser "Profesyonel WordPress geliştirme" çok iyi belgelenmemiştir, bu yüzden birçok kişi (ben de dahil) özel WordPress temalarını geliştirmek ve dağıtmak için WordPress ile profesyonel bir şekilde çalışmayı öğrenmeye çalışmaktadır. Docker'ı kullanmak, üretim ortamını yansıtan bir ortam oluşturmaya yardımcı olur, ancak aynı zamanda yeni bir bölgedir, bu yüzden insanların Docker'ı WordPress geliştirme iş akışlarına nasıl dahil ettiklerini bilmek istiyorum.
Andrew

Andrew, bu sitede ne tür soruları açık tuttuğumuzu görmek için lütfen bu metne bir göz atın . Haliyle, sorunuz çok özneldir, açık uçludur ve sadece fikir tabanlı veya sadece cevapları bağlar. Lütfen bunu değiştirin, aksi takdirde soruyu kapatmak zorunda kalacağız. Teşekkürler.
Kaiser

@kaiser Tamam, bunu daha odaklanmış bir soru olarak değiştirmek için elimden geleni yaptım.
Andrew

Yanıtlar:


7

Boşlukları veya alternatif cevapları doldurmak için bazı yararlı yorumlar alma umuduyla tartışmaya başlamak için kısmi bir cevap göndereceğim ...

Adım 1: boot2docker'ı kurun ve ayarlayın

Docker yalnızca Linux'ta çalışır. Bu yüzden Mac'imizde Docker'ı kullanmak için Docker'ı boot2dockerbir Linux VM'de çalıştıracak olan yüklememiz gerekiyor . Homebrewboot2docker kullanarak kurabilirsiniz :

brew install boot2docker

Yüklemeyi bitirdikten sonra, boot2docker'ı kurun ve başlatın:

boot2docker init
boot2docker start

Daha sonra, docker-compose'un boot2docker VM'mizde Docker'ı bulmasını bilmesi için bazı ortam değişkenlerini ayarlamak için bir komut çalıştırmamız gerekiyor.

eval "$(boot2docker shellinit)"

Değişkenleri dışa aktaran satırları eklemek isteyebilirsiniz, ~/.bash_profileböylece her yeni terminal penceresi açtığınızda komutu çalıştırmanız gerekmez.

2. Adım: Docker-compose uygulamasını yükleyin

Docker kapsayıcılarınız arasındaki ilişkiyi tanımlamayı gerçekten kolaylaştıran docker-compose(başlangıçta adı verilen fig) bir Docker eklentisi vardır . Homebrew kullanarak da kurabilirsiniz:

brew install docker-compose

Adım 3: Docker-compose.yml dosyasını oluşturun

Bir var resmi WordPress Docker görüntü Docker kayıt defterinde. Docker'ın tümünün çalışması için gerekli tüm komut satırı bayraklarıyla manuel olarak başlatılması hakkında bazı bilgiler içerir. Anlayabildiğim kadarıyla bunları atlayabilirsiniz çünkü kullanacağız docker-compose. WordPress temanız üzerinde çalışacağınız dizinde docker-compose.ymlaşağıdaki içerikleri içeren bir a oluşturun :

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

volumesYapılandırma Docker kabın içinde yeni bir tema dizinine mevcut dizindeki temamız dosyaları bağlar.

4. Adım: Kapları başlatın

Çalıştırın docker-compose upve WordPress yüklemesini çalıştıran iki Docker kapsayıcısı ("wordpress" ve "db") kuracaksınız.

5. Adım: Siteyi tarayıcıda açın

Bizim docker-compose.ymlbiz de port 8080 bağlantı noktasını 80 yönlendiren bu yapılandırma belirtilen, boot2dockerbelirli bir IP adresine onun VM çalışır. Bu nedenle, URL'yi bulmak için şu boot2docker ipkomutu kullanmamız gerekir :

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

Sorular

Artık konteynırları çalıştırıyorum, birkaç sorum var ...

  1. Listelenen dışa aktarmaları kopyalayıp yapıştırma dışında, boot2docker ortam değişkenlerini ayarlamanın otomatik bir yolu var mı boot2docker shellinit?

  2. Ben Rails uygulama üzerinde çalışıyorum, ben kullanmak ister Pow ben adlandırılmış kullanarak uygulamaya erişebilir böylece .devdomain yerine belirli portları / IP'leri ile çalışıyor. Sistemimi (veya Pow) http://mysite.dev kullanarak ana bilgisayara erişebilmem için nasıl yapılandırabilirim ?

  3. Kaçırdığım herhangi bir adım var mı? Yoksa sonuna eklenmesi gereken adımlar var mı?


İkinci sorunuz için. Docker nginx proxy'yi deneyebilirsiniz: github.com/jwilder/nginx-proxy .
Zhe Li

0

Bunun için tercih ettiğim çözüm Composer'ı Docker ile birlikte kullanmak. Docker çevreyi, Composer temaları, eklentileri ve ihtiyaç duyabileceğim diğer paketleri içeren bağımlılıkları yönetir.

İşte kendi yerel Docker kurulumum:

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

Ve işte _s temasını indirmek ve dizinime yerleştirmek için Composer kullanan bir şube themes:

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.