Bagian 3:Membuat Notepad dengan wadah WordPress dan DokuWiki
Pengantar
Di bagian pertama, kami berbicara tentang cara kerja container buruh pelabuhan dan perbedaannya dengan teknologi virtualisasi perangkat lunak lainnya, dan di bagian kedua, kami menyiapkan sistem untuk mengelola container buruh pelabuhan.
Di bagian ini, kita akan mulai menggunakan image Docker dan membuat container dengan cara yang praktis. Dengan kata lain, kami akan membuat notepad pribadi canggih berbasis web yang berjalan di atas DokuWiki atau WordPress. Anda dapat memilih mana yang nyaman bagi Anda.
Cara menjalankan wadah Docker
Pertama, kita harus memastikan bahwa mesin buruh pelabuhan bekerja sesuai kebutuhan dengan mengunduh gambar "Hello world" dan membuat wadah darinya.
Ingat, ketika kita berbicara tentang sebuah gambar itu adalah status ditangguhkan sedangkan ketika kita berbicara tentang wadah itu adalah contoh run-time dari gambar buruh pelabuhan. Dalam analogi, yang kita bicarakan di bagian sebelumnya, gambar buruh pelabuhan seperti file ISO dari distribusi Linux, sedangkan wadahnya adalah sesi langsung dari file ISO seolah-olah Anda menjalankannya dari USB thumb drive.
Untuk mengunduh dan menjalankan gambar "Halo dunia" cukup ketik di terminal
sudo docker menjalankan hello-world
Perintah ini mengunduh gambar Hello World dan menjalankannya dalam sebuah wadah. Saat container berjalan, container akan mencetak pesan informasi dan kemudian keluar (artinya dimatikan).
Bagaimana kami memeriksa berapa banyak gambar yang kami miliki di sistem kami? Baiklah kita jalankan saja
gambar buruh pelabuhan sudo
Anda mungkin bertanya pada diri sendiri, bagaimana sistem saya menemukan gambar Hello World ini dan dari mana asalnya? Nah, di sinilah docker hub berperan.
Pengantar Docker Hub
Docker Hub adalah sumber daya terpusat berbasis cloud untuk penemuan gambar kontainer, pembuatan gambar, dan distribusi gambar tersebut.
Secara khusus, Docker Hub menyediakan beberapa fitur dan fungsi berguna yang akan kita bahas lebih lanjut di bagian selanjutnya.
Saat ini, kami akan fokus pada satu fitur dan ini adalah menemukan dan mengunduh gambar buruh pelabuhan.
Menelusuri Gambar Docker
Anda dapat mencari "gambar buruh pelabuhan yang siap diunduh dan dijalankan", hanya dengan mengunjungi hub buruh pelabuhan online atau dengan menggunakan terminal. Perhatikan bahwa Anda tidak dapat mengunduh gambar buruh pelabuhan dari hub web tetapi Anda dapat mempelajari lebih lanjut tentang suatu gambar, seperti cara pembuatan dan pemeliharaannya, dll.
Jadi untuk tujuan bagian ini, kita akan fokus menggunakan cara terminal. Mari kita cari WordPress
sudo docker search wordpress
Seperti yang Anda lihat, ada banyak sekali gambar buruh pelabuhan WordPress, yang dibuat dengan berbagai kombinasi (misalnya dengan atau tanpa penyertaan basis data), mereka diberi peringkat dengan bintang popularitas dan mereka resmi (dikelola oleh perusahaan buruh pelabuhan) atau otomatis (dibuat dan dipertahankan oleh individu). Jelas bahwa siapa pun dapat membuat akun dan mengunggah gambar buruh pelabuhan kustomnya dan kami akan membahasnya di bagian selanjutnya.
Mengunduh Gambar Docker
Untuk tujuan artikel ini, kita akan menggunakan image docker bitnamis terbaru, yang dilengkapi dengan MySQL yang sudah diinstal di dalamnya. Jadi mari kita unduh:
sudo docker pull bitnami/wordpress:latest
Setelah Anda menjalankan perintah di atas, ia akan berkomunikasi dengan hub docker, menanyakan apakah ada repositori bernama "bitnami", kemudian menanyakan apakah ada build "WordPress" yang ditandai sebagai versi "terbaru".
Saat ini, kami telah mengunduh gambar WordPress dan tidak ada yang lain. Kita dapat melanjutkan sekarang dengan mengunduh Gambar DokuWiki dengan mencari dan memilih salah satu yang kita suka, atau menggunakan salah satu yang berikut
sudo docker tarik mprasil/dokuwiki
Arsitektur Gambar Docker
Sambil menunggu prosedur pengunduhan selesai, Anda dapat melihat bahwa gambar buruh pelabuhan adalah gambar multi-lapisan di atas gambar dasar. Anda dapat melihat setiap lapisan sedang diunduh dan kemudian "secara ajaib" disatukan. Diagram di bawah menunjukkan gambar dasar Ubuntu yang terdiri dari 4 lapisan gambar bertumpuk.
Seperti yang dapat Anda bayangkan, setiap Gambar Docker mereferensikan daftar lapisan hanya-baca yang mewakili perbedaan sistem file. Saat Anda membuat wadah baru, dari Gambar Docker seperti yang akan kita lakukan, nanti, Anda menambahkan lapisan baru, tipis, dan dapat ditulis di atas tumpukan yang mendasarinya. Semua perubahan yang dilakukan pada container yang sedang berjalan - seperti menulis file baru, memodifikasi file yang ada, dan menghapus file - ditulis ke lapisan container tipis yang dapat ditulis ini. Diagram di bawah menunjukkan wadah berdasarkan gambar Ubuntu 15.04.
Menghapus Gambar Docker
Sekarang jika Anda memeriksa berapa banyak gambar yang Anda miliki di sistem Anda
gambar buruh pelabuhan sudo
Anda akan melihat WordPress, DokuWiki, dan Hello World. Jika karena alasan apa pun Anda ingin menghapus dan menghapus (rmi) gambar, Anda cukup mengetik
sudo docker rmi
di mana nama gambar adalah nama buruh pelabuhan seperti yang ditampilkan dengan perintah "gambar buruh pelabuhan". Misalnya, jika kita ingin menghapus Hello World kita cukup mengetik:
sudo docker rmi hello-world
Kontainer bersifat sementara
Secara desain, wadah Docker bersifat sementara. Yang kami maksud dengan “ephemeral” adalah container dapat dihentikan dan dihancurkan dan container baru dapat dibuat dari image Docker yang sama dan diterapkan dengan pengaturan dan konfigurasi minimum absolut.
Jadi, Anda harus ingat bahwa ketika kami akan membuat wadah dari Gambar Docker preferensi Anda (WordPress atau DokuWiki) setiap perubahan yang Anda buat mis. menambahkan posting, gambar, akan hilang setelah Anda menghentikan atau menghapus wadah. Dengan kata lain, ketika wadah dihapus, semua data yang ditulis ke wadah yang tidak disimpan dalam volume data dihapus bersama dengan wadah.
Volume data adalah direktori atau file di sistem file host Docker yang dipasang langsung ke dalam wadah. Dengan cara ini Anda dapat menukar wadah, dengan yang baru dan menyimpan data apa pun dengan aman di folder beranda pengguna Anda. Perhatikan bahwa, Anda dapat memasang sejumlah volume data ke dalam wadah. Bahkan beberapa kontainer juga dapat berbagi satu atau beberapa volume data.
Diagram di bawah menunjukkan satu host Docker (misalnya Ubuntu 15.10 Anda) yang menjalankan dua kontainer. Seperti yang Anda lihat, ada juga satu volume data bersama yang terletak di /data di host Docker. Ini dipasang langsung ke kedua wadah.
Dengan cara ini ketika sebuah wadah dihapus, semua data yang disimpan dalam volume data tetap ada di host Docker dan dapat dipasang ke wadah baru.
Jaringan wadah buruh pelabuhan
Saat Anda menginstal Docker, itu membuat perangkat jaringan di sistem Anda. Anda dapat melihatnya (ini akan dinamai sebagai docker0) sebagai bagian dari tumpukan jaringan host dengan menggunakan perintah `ifconfig` pada sistem host Anda.
Penting untuk dipahami bahwa container Docker diisolasi dan merupakan layanan mikro individual yang memiliki properti jaringannya sendiri dan cara kami menjalankannya serta menghubungkannya adalah dengan memetakan nomor portnya ke nomor port sistem host.
Dengan cara ini kami dapat mengekspos layanan web yang dijalankan oleh container ke sistem host.
Membuat notepad pribadi dengan wadah WordPress
Mari kita mulai membuat notepad pengujian kita. Pertama kita akan menggunakan gambar WordPress untuk membuat wadah Docker
sudo docker run --name=mynotepad -p 80:80 -p 443:443 bitnami/wordpress
Dengan perintah di atas, kami meminta layanan Docker di sistem host kami untuk membuat dan menjalankan (docker run) sebuah wadah bernama `mynotepad` (--name=mynotepad), memetakan port HTTP dan HTTPS dari host dan wadah ( -p 80:80 -p 443:443 ) dan gunakan gambar WordPress ( bitnami/wordpress )
Setelah wadah diinisialisasi, Anda akan disambut dengan beberapa info tentang wadah tersebut. Saatnya meluncurkan browser dan arahkan ke http://localhost
Jika semuanya berjalan dengan baik, Anda akan melihat situs web WordPress default
Seperti yang mungkin sudah Anda ketahui untuk masuk ke halaman administrasi WordPress, cukup buka http://localhost/login dan gunakan kredensial default pengguna / bitnami. Kemudian Anda dapat membuat pengguna baru atau posting pengujian di WordPress dan mempublikasikannya. Anda dapat melihat posting pengujian saya pada gambar di bawah ini
Mari kita kembali ke terminal. Seperti yang Anda lihat, terminal Anda saat ini terikat ke wadah yang sedang berjalan. Anda dapat menggunakan Ctrl+C untuk keluar. Ini juga akan menghentikan penampung.
Sekarang mari kita periksa wadah yang tersedia. Anda dapat menjalankan perintah berikut:
sudo docker ps -l
untuk melihat container yang sebelumnya telah kita buat dan jalankan.
Seperti yang Anda lihat dari gambar di atas, ada beberapa informasi penting seperti nama wadah dan ID unik wadah. Dengan cara ini kita dapat memulai penampung lagi:
docker start mynotepad
Kemudian Anda dapat memeriksa proses yang dijalankan oleh wadah buruh pelabuhan, dengan perintah berikut:
sudo docker top mynotepad
Secara default dengan `docker start mynotepad` wadah buruh pelabuhan berjalan di latar belakang. Untuk menghentikannya, Anda dapat menjalankan perintah berikut
sudo docker hentikan mynotepad
Anda dapat membaca lebih lanjut tentang cara berinteraksi dengan wadah di dokumentasi resmi buruh pelabuhan https://docs.docker.com/engine/userguide/containers/usingdocker/
Di mana wadahnya
Jika Anda ingin melihat di mana wadah berada di sistem file host maka Anda dapat menuju ke /var/lib/docker
sudo cd /var/lib/docker
sudo ls
sudo cd containers
sudo cd ID
sudo ls
Seperti yang Anda lihat, nomor ID mewakili wadah sebenarnya yang telah Anda buat.
Membuat penyimpanan persisten
Mari kita membuat wadah WordPress baru, tetapi kali ini, akan meletakkannya di latar belakang dan juga mengekspos folder WordPress ke sistem host kita sehingga kita dapat meletakkan file di dalamnya atau menghapus file yang tidak kita inginkan.
Pertama kita buat folder di direktori home kita
mkdir ~/wordpress-files
lalu jalankan dan buat wadah berdasarkan gambar yang sama dengan yang kita buat sebelumnya:
sudo docker run -d -ti --name=mynotepad-v2 -v ~/wordpress-files:/opt/bitnami/apps -e USER_UID=`id -u` -p 80:80 bitnami/wordpress
Perbedaannya, kali ini, kita menggunakan parameter -d untuk mode terpisah dan parameter -ti untuk memasang terminal dalam mode interaktif sehingga saya dapat berinteraksi dengannya nanti.
Untuk memeriksa container yang sedang berjalan, jalankan saja perintah berikut
sudo docker ps
Mari kita hentikan wadahnya
sudo docker stop mynotepad-v2Sekarang jika Anda menjalankan perintah `docker ps`, Anda tidak akan melihat apa pun di sana.
Mari kita mulai lagi dengan perintah berikut:sudo docker start mynotepad-v2Jika Anda memeriksa folder yang telah kami buat sebelumnya, Anda akan melihat instalasi WordPress
Anda dapat membaca lebih lanjut tentang gambar yang kami gunakan di hub buruh pelabuhan https://hub.docker.com/r/bitnami/wordpress/
Membuat notepad pribadi dengan wadah DokuWiki
Kali ini, kita akan membuat notepad menggunakan DokuWiki. Seperti yang telah kita unduh sebelumnya, satu-satunya hal yang harus dilakukan adalah membuat wadah darinya.
Jadi mari kita jalankan perintah berikut untuk membuat `mywikipad` bernama container
docker run -d -p 80:80 --name mywikipad mprasil/dokuwikiLalu buka browser Anda dan tambahkan alamat berikut untuk memulai konfigurasi notepad wiki Anda:
http://localhost/install.phpAnda dapat mempelajari lebih lanjut untuk DokuWiki dari dokumentasi resmi dan menyesuaikan wiki untuk kebutuhan Anda:
https://www.dokuwiki.org/manual
Menghapus wadah Docker
Setelah Anda merasa nyaman dengan membuat, memulai, dan menghentikan kontainer buruh pelabuhan, Anda akan merasa perlu membersihkan kekacauan pengujian yang dibuat oleh beberapa kontainer.
Untuk menghapus wadah terlebih dahulu, Anda harus menghentikannya lalu menghapusnya dengan menjalankan perintah berikut:
docker rmAnda juga dapat menambahkan beberapa ID dalam perintah `docker rm` yang sama untuk menghapus beberapa kontainer buruh pelabuhan secara bersamaan.
Ringkasan
Di bagian ini, kita belajar cara membuat wadah dan menggunakannya secara praktis untuk membuat notepad pribadi berdasarkan WordPress atau DokuWiki. Kami melihat beberapa perintah dasar tentang cara memulai dan menghentikan container yang kami buat dan cara menghapus gambar dan container.
Di bagian selanjutnya, kita akan melihat bagaimana gambar buruh pelabuhan dibuat dengan membuatnya sendiri.
Panduan Docker:Menginstal Traefik - Proxy Terbalik Modern untuk Layanan Mikro Docker Bagian 4:membangun dan memublikasikan gambar buruh pelabuhan khususDocker