Bagaimana saya bisa mengkonfigurasi Docker untuk mengembangkan dan menggunakan tema khusus?

12

Saya memulai dengan Docker dan saya masih baru dalam praktik pengembangan WordPress profesional. Saya ingin mengatur lingkungan pengembangan Docker (di Mac saya) sehingga saya dapat melakukan pengembangan tema WordPress kustom.

Dengan asumsi Anda telah melakukan ini sebelumnya dan sudah menggunakan Docker, bagaimana Anda mengatur ini? Seperti apa Dockerfile dan docker-compose.yml Anda? Saya yakin ini sudah dilakukan sebelumnya. Saya tidak akan terkejut jika sudah ada perintah satu baris yang dapat mengatur ini untuk Anda.

Pembaruan: Saya mempersempit topik ini ke pertanyaan berikut:

Bagaimana saya bisa mengkonfigurasi Docker untuk mengembangkan dan menggunakan tema khusus?

Andrew
sumber
Saya hanya perlu menghapus dua tautan saja jawaban. Karena pertanyaan Anda memiliki 8 upvotes, maukah Anda mempersempitnya menjadi satu pertanyaan yang dapat dipecahkan?
kaiser
@kaiser "Pengembangan WordPress Profesional" tidak terdokumentasi dengan baik, sehingga banyak orang (termasuk saya) mencoba mempelajari cara bekerja dengan WordPress secara profesional untuk mengembangkan dan menggunakan tema WordPress kustom. Menggunakan Docker membantu menciptakan lingkungan yang mencerminkan lingkungan produksi, tetapi juga wilayah baru, jadi saya ingin tahu bagaimana orang memasukkan Docker ke dalam alur kerja pengembangan WordPress mereka.
Andrew
Andrew, silakan lihat teks ini untuk melihat pertanyaan seperti apa yang kami buka di situs ini. Sebenarnya, pertanyaan Anda sangat subyektif, terbuka dan hanya menarik jawaban berdasarkan opini atau tautan saja. Silakan ubah itu, kalau tidak kita harus menutup pertanyaan. Terima kasih.
kaiser
@iser Oke, saya sudah melakukan upaya terbaik untuk mengubah ini menjadi pertanyaan yang lebih fokus.
Andrew

Jawaban:

7

Saya akan memposting jawaban parsial untuk memulai diskusi dengan harapan mendapatkan beberapa komentar bermanfaat untuk mengisi kekosongan atau jawaban alternatif ...

Langkah 1: Instal dan Setel boot2docker

Docker hanya berjalan di Linux. Jadi untuk menggunakan Docker di Mac kita, kita perlu menginstal boot2docker, yang akan menjalankan Docker di Linux VM. Anda dapat menginstal boot2dockermenggunakan Homebrew :

brew install boot2docker

Setelah selesai menginstal, atur dan mulai boot2docker:

boot2docker init
boot2docker start

Selanjutnya, kita perlu menjalankan perintah untuk mengatur beberapa variabel lingkungan sehingga docker-compose akan mengetahui untuk menemukan Docker di dalam VM boot2docker kita.

eval "$(boot2docker shellinit)"

Anda mungkin ingin menambahkan baris yang mengekspor variabel ke Anda ~/.bash_profilesehingga Anda tidak harus menjalankan perintah setiap kali Anda membuka jendela terminal baru.

Langkah 2: Instal komposisi buruh pelabuhan

Ada plugin Docker yang disebut docker-compose(awalnya disebut fig) yang membuatnya sangat mudah untuk menentukan hubungan antara wadah Docker Anda. Anda juga dapat menginstalnya menggunakan Homebrew:

brew install docker-compose

Langkah 3: Buat buruh pelabuhan-compose.yml

Ada gambar WordPress Docker resmi di registri Docker. Ini mencakup beberapa informasi tentang memulai Docker secara manual dengan semua flag baris perintah yang diperlukan untuk membuatnya semuanya berfungsi. Sejauh yang saya tahu, Anda dapat melewati semua itu karena kami akan menggunakan docker-compose. Di direktori tempat Anda akan mengerjakan tema WordPress Anda, buat a docker-compose.ymldengan konten berikut:

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

The volumeskonfigurasi link file tema kami dalam direktori kami saat ini ke direktori tema baru di dalam kontainer Docker.

Langkah 4: Mulai wadah

Jalankan docker-compose updan Anda akan mengatur dua wadah Docker ("wordpress" dan "db") menjalankan instalasi WordPress.

Langkah 5: Buka situs di browser

docker-compose.ymlKonfigurasi kami menentukan bahwa kami meneruskan port 80 ke port 8080. Juga, boot2dockermenjalankan VM-nya pada alamat IP tertentu. Jadi, untuk mengetahui URL, kita perlu menggunakan boot2docker ipperintah:

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

Pertanyaan

Sekarang saya memiliki wadah dan berjalan, saya punya beberapa pertanyaan ...

  1. Apakah ada cara otomatis untuk mengatur variabel lingkungan boot2docker, selain menyalin dan menempelkan ekspor yang tercantum dalam boot2docker shellinit?

  2. Ketika saya bekerja pada aplikasi Rails, saya suka menggunakan Pow sehingga saya dapat mengakses aplikasi menggunakan .devdomain bernama daripada bekerja dengan port / IP tertentu. Bagaimana saya bisa mengkonfigurasi sistem saya (atau Pow) sehingga saya dapat mengakses host menggunakan http://mysite.dev ?

  3. Apakah ada langkah yang saya lewatkan? Atau adakah langkah yang harus ditambahkan sampai akhir?

Andrew
sumber
Untuk pertanyaan kedua Anda. Anda dapat mencoba proxy buruh pelabuhan nginx: github.com/jwilder/nginx-proxy .
Zhe Li
0

Solusi pilihan saya untuk ini adalah menggunakan Komposer dalam kombinasi dengan Docker. Docker menangani lingkungan, Komposer menangani dependensi, yang mencakup tema, plugin, dan paket lain yang mungkin saya butuhkan.

Inilah pengaturan Docker lokal saya sendiri:

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

Dan inilah cabang yang menggunakan Komposer untuk mengunduh tema _s dan meletakkannya di themesdirektori saya :

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

Alex MacArthur
sumber