GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Docker:Cara menggunakannya secara praktis - Bagian 3

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-v2

Sekarang 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-v2

Jika 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/dokuwiki

Lalu buka browser Anda dan tambahkan alamat berikut untuk memulai konfigurasi notepad wiki Anda:

http://localhost/install.php

Anda 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 rm 

Anda 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.


Docker
  1. Cara Mengurangi Ukuran Gambar Docker:6 Metode Optimasi

  2. Cara Menggunakan Tulis Docker

  3. Cara Menggunakan Dockerfile untuk Membangun Gambar Docker

  1. Cara Berbagi Gambar Docker Dengan Orang Lain

  2. Bagaimana dan Mengapa Menggunakan Host Docker Jarak Jauh

  3. Cara Menggunakan Perintah Inspeksi Docker

  1. Cara Memindahkan Gambar Docker antar Host

  2. Cara Memodifikasi Gambar Docker

  3. Cara melakukan perubahan pada gambar Docker