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

Memulai dengan Gambar Docker yang Dibuat Sebelumnya

Gambar adalah komponen dasar buruh pelabuhan. Dalam panduan ini, kita akan membahas apa itu gambar buruh pelabuhan, cara membuatnya, cara mengelolanya, dan cara menggunakannya.

Mari kita mulai.

Prasyarat

  • Sebelum Anda mulai menggunakan gambar buruh pelabuhan, Anda perlu memasang buruh pelabuhan di sistem Anda.
  • Panduan ini menggunakan Ubuntu, tetapi langkah-langkahnya harus serupa untuk distribusi lain.
  • Akun pengguna dengan hak akses root.

Apa yang Harus Anda Ketahui?

Sebelum Anda mulai bekerja dengan gambar buruh pelabuhan, penting bagi Anda untuk mengetahui apa itu gambar buruh pelabuhan.

Gambar buruh pelabuhan adalah komponen dasar buruh pelabuhan. Docker menggunakan gambar untuk membuat wadah. Gambar pada dasarnya adalah templat yang berisi semua informasi yang diperlukan untuk membuat wadah, seperti kode, pustaka, dan waktu proses.

Wadah buruh pelabuhan adalah instance runtime dari sebuah gambar. Ini berisi semua yang dikandung gambar, ditambah perubahan atau penambahan apa pun yang Anda buat saat penampung sedang berjalan. Misalnya, jika Anda menginstal aplikasi baru di sistem Anda, aplikasi baru akan diinstal di wadah Anda.

Mengelola Gambar Dengan CLI

Mengelola gambar dengan Docker CLI adalah suatu keharusan bagi administrator Docker. Docker CLI adalah alat yang ampuh yang memberi Anda kendali penuh atas gambar dan wadah Anda. Di bagian ini, Anda akan mempelajari cara menggunakan Docker CLI untuk mengelola gambar Anda.

1. Jalankan perintah di bawah ini untuk memastikan Docker berjalan.

sudo systemctl status docker

2. Jika Docker tidak berjalan, jalankan dengan perintah di bawah ini.

sudo systemctl start docker

3. Tambahkan akun pengguna Anda ke grup buruh pelabuhan. Keluar dan masuk kembali agar perubahan diterapkan.

sudo usermod -aG docker $(whoami)

4. Jika Anda menjalankan perintah docker image, Anda akan melihat daftar semua opsi yang tersedia untuk perintah docker image.

docker image

Seperti yang ditunjukkan di bawah ini, perintah gambar buruh pelabuhan memiliki banyak opsi, tetapi beberapa yang paling umum digunakan adalah:

  • l :Mencantumkan gambar di sistem Anda.
  • tarik :Tarik gambar dari registri.
  • dorong :Dorong gambar ke registri.
  • buat :Membuat gambar baru dari Dockerfile.
  • rm :Menghapus gambar dari sistem Anda.
  • tag: Tandai gambar dengan nama.

Untuk memulai, mari kita lihat cara membuat daftar gambar di sistem Anda.

5. Jalankan perintah docker image ls untuk membuat daftar gambar di host Anda. Perintah docker image ls mencantumkan semua gambar di Host Anda, termasuk repositori tempat mereka ditarik. ID, repositori, tag, dan ukuran gambar.

docker image ls

Misalkan Anda ingin menghapus gambar dari host Anda. Anda dapat menggunakan perintah rm. Anda dapat menggunakan nama gambar atau ID gambar untuk menghapus gambar.

docker image rm <image-name>
docker image rm <image-id>

Jika Anda menggunakan ID, pastikan beberapa karakter pertama dalam ID unik untuk gambar dalam daftar. Dengan kata lain, beberapa huruf pertama di ID tidak boleh digunakan oleh gambar lain.

6. Misalnya, untuk menghapus gambar ubuntu:12.04, Anda dapat menggunakan salah satu dari perintah berikut. Perhatikan bahwa kita hanya dapat menggunakan beberapa karakter pertama dari ID (5b1) untuk menghapus gambar karena tidak ada gambar lain dengan beberapa karakter pertama tersebut.

docker image rm ubuntu:12.04
docker image rm 5b1

Gambar ubuntu:12.04 akan dihapus dari host Anda bersama dengan setiap lapisan yang digunakan untuk membuat gambar, seperti yang ditunjukkan di bawah ini.

7. Buat daftar gambar di sistem Anda lagi untuk memverifikasi bahwa gambar ubuntu:12.04 tidak lagi terdaftar.

docker image ls

Perhatikan perintah docker image ls dan perintah docker images melakukan hal yang sama persis. Namun, yang kedua sekarang tidak digunakan lagi karena Docker lebih memilih pengembang untuk menggunakan perintah buruh pelabuhan dengan subperintah yang benar. Kami memiliki hal yang sama dengan perintah docker rmi. Perintah ini digunakan untuk menghapus gambar dan semua lapisannya sama persis dengan gambar buruh pelabuhan rm. Docker merekomendasikan untuk menggunakan docker rm dengan subperintah yang benar.

docker image ls
docker image

Kami memiliki keluaran yang sama.

Sejauh ini, Anda telah menghapus satu gambar yang tidak digunakan dalam satu waktu. Bagaimana jika Anda ingin menghapus dua atau lebih gambar yang tidak digunakan secara bersamaan?

Di sinilah perintah prune berguna. Perintah prune dapat digunakan untuk menghapus semua gambar yang tidak digunakan dari host Anda sekaligus. Anda dapat menggunakan perintah prune untuk menghapus semua gambar yang menggantung, semua gambar yang tidak digunakan, atau kombinasi keduanya. Gambar menjuntai adalah gambar yang tidak memiliki setidaknya satu wadah yang terkait dengannya.

8. Jalankan perintah docker image prune untuk menghapus semua image yang tidak digunakan/menggantung dari sistem Anda.

docker image prune

Seperti yang Anda lihat, perintah prune menghapus semua gambar yang tidak digunakan dan lapisannya dari host Anda dan menghemat banyak ruang disk dalam prosesnya.

9. Cantumkan kembali gambar di host Anda untuk memverifikasi bahwa gambar tersebut benar-benar hilang. Sekarang Anda tahu cara membuat daftar, menghapus, dan memangkas gambar dari host Anda. Perintah dasar ini akan membantu Anda menjaga sistem tetap bersih dan teratur.

docker image ls

Memeriksa Gambar Docker

Anda mungkin menganggap gambar dan wadah Docker sebagai kotak hitam mistik. Anda bertanya-tanya keajaiban macam apa yang terjadi di dalam diri mereka. Di bagian ini, kami menghilangkan sebagian mistisisme dengan melihat apa yang ada dalam gambar Docker dan bagaimana Anda dapat menggunakan informasi itu untuk keuntungan Anda.

1. Docker menawarkan cara untuk memeriksa konten gambar. Perintah inspeksi buruh pelabuhan mengambil jalur ke gambar dan mencetak banyak informasi tentangnya, seperti yang ditunjukkan pada contoh berikut.

docker inspect ubuntu

Seperti yang ditunjukkan di bawah ini, output dari perintah di atas berisi banyak informasi. Anda melihat semua informasi di sini dalam format yang disebut array JSON.

Informasi dalam output ditampilkan seperti penyimpanan nilai kunci. Anda dapat menggunakan alat Linux seperti pipa (|) untuk mengambil output untuk kata kunci tertentu. Kemudian, Anda dapat menggunakan output pipa untuk tujuan apa pun yang Anda inginkan. Contoh berikut menunjukkan bagaimana Anda dapat menggunakannya.

2. Jalankan perintah di bawah ini untuk menyimpan output dari perintah docker inspect ke file bernama image-inspect.txt.

docker image inspect ubuntu > image-inspect.txt

3. Kemudian, gunakan editor pilihan Anda untuk membuka file dan memeriksa isinya.

sudo nano image-inspect.txt

Output dari perintah docker inspect berisi banyak informasi tentang sebuah gambar, seperti yang ditunjukkan di bawah ini. Di dalam editor, Anda dapat dengan mudah menavigasi seperti menggulir ke atas/bawah editor untuk memeriksa informasi yang berbeda. Anda dapat mengedit informasi jika Anda mau.

Anda juga dapat menggunakan argumen --format untuk memformat output dengan cara tertentu.

4. Misalnya, untuk mencetak ID image ubuntu, Anda dapat menggunakan perintah berikut.

docker image inspect ubuntu --format='{{.ID}}'

5. Cantumkan gambar untuk memverifikasi ID gambar.

docker image ls

6. Jalankan perintah di bawah ini untuk menyalurkan output dari perintah docker inspect ke perintah more. Ini akan memungkinkan Anda untuk membuat halaman melalui output sehingga Anda dapat melihat semua informasi yang terkandung di dalamnya.

docker image inspect ubuntu | more

Kali ini, Anda akan melihat Nama Inang (b32714f341a6 ) di ContainerConfig bagian, seperti yang ditunjukkan di bawah ini.

7. Bagaimana jika Anda menginginkan nilai hostname (b32714f341a6 ) hanya? Anda dapat melakukannya dengan menjalankan perintah di bawah ini.

docker image inspect ubuntu --format='{{.ContainerConfig.Hostname}}'

Seperti yang Anda lihat, Anda dapat menggunakan perintah inspeksi buruh pelabuhan dengan alat Linux untuk melakukan pemfilteran lagi. Seperti rentang. Misalnya, untuk mencantumkan semua alamat IP dalam rentang 192.168.0.0/16. Dan Anda bahkan dapat menggabungkannya dengan alat skrip lain untuk melakukan hal-hal yang lebih keren lagi.

Menggunakan Tag Docker 

Saat Anda terus bekerja dengan gambar Docker, Anda akan ingin mulai menggunakan tag. Tag memungkinkan Anda mengidentifikasi dan mengelola gambar dengan mudah. Misalnya, Anda dapat membuat tag untuk setiap lingkungan tempat gambar digunakan, atau untuk setiap pelanggan atau klien tempat gambar digunakan. Ini memudahkan untuk menemukan gambar tertentu yang Anda butuhkan, dan untuk melacak gambar mana yang telah digunakan untuk tujuan tertentu.

Sintaks untuk menambahkan tag ke gambar adalah sebagai berikut:

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

Tag Anda dapat berupa string ASCII yang valid, dan dapat berisi huruf kecil dan huruf besar, angka, garis bawah, titik, dan tanda hubung. Itu tidak boleh dimulai dengan titik atau tanda hubung, dan panjangnya tidak boleh melebihi 128 karakter. Mari kita lihat contohnya.

1. Untuk menambahkan tag ke gambar, pertama-tama kita perlu mengetahui nama atau ID dari gambar yang ingin kita tandai. Kami dapat membuat daftar semua gambar yang tersedia di sistem kami dengan menjalankan perintah berikut:

docker image ls

2. Sekarang jalankan perintah di bawah ini untuk menambahkan tag "myubuntu" ke gambar.

docker tag ubuntu:latest ubuntu:myubuntu

3. Sekarang jika kita menjalankan kembali perintah docker image ls, kita dapat melihat bahwa gambar kita telah ditandai dengan "myubuntu".

Perhatikan bahwa tag hanyalah alias. Artinya gambar dapat memiliki beberapa tag tetapi semuanya merujuk kembali ke gambar sumber yang sama. Jadi Anda dapat menggunakan tag apa pun yang Anda inginkan, selama itu masuk akal bagi Anda. Dan sebaiknya tambahkan tag saat Anda membuat gambar sehingga Anda dapat dengan mudah melacaknya nanti.

4. Mari kita lihat satu contoh lagi. Misalkan kita ingin membuat image Ubuntu dengan tag “original”. Kita dapat melakukannya dengan menjalankan perintah berikut:

docker tag myubuntu:latest myubuntu:original

Perintah di atas akan membuat gambar yang ditandai dengan "asli" yang didasarkan pada gambar yang ditandai dengan "terbaru". Kami sekarang memiliki dua gambar myubuntu:satu ditandai dengan terbaru dan satu diberi tag dengan asli , tetapi mereka menunjuk kembali ke ID gambar sumber yang sama(2b4cba85892a ).

Bekerja dengan Registri Docker

Sekarang setelah kita memiliki pemahaman dasar tentang apa itu image Docker, mari kita lihat bekerja dengan registry. Docker Hub adalah registri publik paling populer, tetapi ada opsi lain yang tersedia.

Docker Hub adalah registri publik yang bebas digunakan untuk tujuan pribadi dan komersial. Ini memiliki berbagai macam gambar yang tersedia, dan Anda juga dapat membuat gambar Anda sendiri dan membaginya dengan orang lain. Untuk menggunakan Docker Hub, Anda hanya perlu membuat akun dan kemudian menginstal klien buruh pelabuhan. Anda kemudian dapat menggunakan perintah docker search untuk menemukan gambar, dan perintah docker pull untuk mengunduhnya.

Sejauh ini, kami telah bekerja dengan image ubuntu yang tersedia di Docker Hub, registry publik Docker. Namun, Anda juga dapat membuat registri pribadi untuk menyimpan gambar Anda.

Menerapkan Registri Docker Pribadi

Ada beberapa alasan mengapa Anda mungkin ingin menggunakan registri pribadi:

  • Untuk menyimpan gambar yang hanya untuk penggunaan internal. Mungkin Anda memiliki gambar yang berisi informasi sensitif dan Anda tidak ingin gambar tersebut tersedia untuk umum. Atau mungkin Anda ingin melacak gambar mana yang telah digunakan di lingkungan Anda dan tidak ingin orang lain dapat mengunduhnya tanpa izin Anda.
  • Untuk mempercepat pengunduhan gambar dalam CI/CD saluran distribusi Anda dengan menyimpannya dalam cache secara lokal. Menjalankan registri Anda sendiri dan menyimpannya sendiri adalah cara terbaik untuk menautkannya dan meningkatkan sistem CI/CD Anda.

1. Periksa apakah host buruh pelabuhan Anda siap membuat registri lokal.

docker version

2. Jalankan perintah docker run di bawah ini untuk mengaktifkan dan menjalankan registri lokal dan pribadi. Dimana:

  • -p 5000:5000 =memetakan port 5000 pada host buruh pelabuhan ke port 5000 pada container
  • --restart=always =memastikan penampung selalu dimulai ulang jika gagal
  • --name registry =nama registri pribadi Anda
  • registry:2 =gambar yang akan digunakan untuk membuat wadah registri
docker run -d -p 5000:5000 --restart=always --name registry registry:2

3. Jalankan perintah di bawah ini untuk membuat daftar semua container yang sedang berjalan di host buruh pelabuhan Anda.

docker ps 

Anda akan melihat output berikut. Output ini menunjukkan bahwa wadah registri aktif dan berjalan di host buruh pelabuhan Anda. Notasi :::5000->5000/tcp adalah pintasan yang memetakan port pada host buruh pelabuhan ke port pada wadah registri.

Sekarang setelah registri pribadi kita aktif dan berjalan, mari kita lihat cara menambahkan gambar ke dalamnya. Contoh berikut menunjukkan cara menambahkan gambar ubuntu ke registri. Pertama, Anda perlu menarik gambar dari Docker Hub ke host lokal Anda dan memberinya tag tertentu. Anda kemudian akan mendorong gambar yang baru diberi tag ke registri pribadi Anda. Terakhir, hapus image ubuntu dari host lokal Anda dan tarik image dari registri pribadi Anda untuk mengujinya.

4. Jalankan perintah di bawah ini untuk mengunduh gambar ubuntu dengan tag 20.04 dari Docker Hub ke host lokal Anda.

 docker image pull ubuntu:20.04

5. Selanjutnya, jalankan perintah di bawah ini untuk menandai gambar Ubuntu yang diunduh sebagai "my-ubuntu." Anda dapat menggunakan tag apa pun yang Anda inginkan, tetapi sebaiknya gunakan sesuatu yang masuk akal untuk organisasi Anda.

docker tag ubuntu:20.04 localhost:5000/my-ubuntu 

6. Jalankan perintah di bawah ini untuk mendorong gambar yang baru diberi tag ke registri pribadi Anda yang berjalan di port localhost:5000.

docker push localhost:5000/my-ubuntu

7. Jalankan perintah di bawah ini untuk menghapus image ubuntu yang di-cache secara lokal dari localhost Anda untuk menguji registri pribadi Anda.

docker image remove ubuntu:20.04 && docker image remove localhost:5000/my-ubuntu

8. Setelah gambar ubuntu yang di-cache secara lokal telah dihapus, Anda dapat menjalankan perintah di bawah ini untuk menarik gambar dari registri pribadi Anda.

docker pull localhost:5000/my-ubuntu

9. Jalankan perintah di bawah ini untuk membuat daftar semua gambar di host buruh pelabuhan Anda.

docker image ls

Anda akan melihat my-ubuntu gambar terdaftar sebagai ditarik dari registri pribadi Anda, seperti yang ditunjukkan di bawah ini. Keluaran ini mengonfirmasi bahwa gambar berhasil diambil dari registri pribadi Anda dan registri pribadi Anda berfungsi dengan benar.

Mendorong, Menarik, dan Menandatangani Gambar

Docker menawarkan beberapa opsi baris perintah untuk mendorong, menarik, dan mencari gambar. Di bagian ini, Anda akan mempelajari cara menggunakan perintah tersebut untuk mengelola gambar Anda di registry dari baris perintah di host Anda. Contoh ini menggunakan Docker Hub untuk mendemonstrasikan, tetapi Anda dapat menggunakan registry lain.

1. Jalankan perintah login docker untuk login ke registry Docker Hub. Berikan nama pengguna dan kata sandi Anda saat diminta. Jika Anda tidak memiliki akun Docker Hub, Anda dapat membuatnya secara gratis di https://hub.docker.com/.

docker login

2. Setelah masuk, Anda siap untuk memasukkan gambar Anda. Misalkan Anda ingin mendorong gambar terbaru ubuntu ke Docker Hub. Anda juga harus menandai gambar dengan nama yang bermakna sehingga Anda dapat dengan mudah merujuknya di masa mendatang. Dalam contoh ini, Anda akan menandai gambar sebagai howtoforge/ubuntu:latest. Jangan ragu untuk menggunakan nama tag yang Anda inginkan.

docker tag ubuntu:latest howtoforge/ubuntu:latest
docker push howtoforge/ubuntu:latest

3. Buka browser web Anda dan navigasikan ke Docker Hub. Anda akan melihat gambar Anda di sana. Repositori ini dibuat berdasarkan nama pengguna Anda dan tag yang Anda gunakan. Dalam contoh ini, repositorinya adalah howtoforge/ubuntu . Navigasikan ke tab tag, Anda akan melihat tag Anda berhasil diterapkan (terbaru ).

4. Jalankan perintah di bawah ini untuk menghapus image ubuntu lokal untuk menguji tarikannya.

docker image rm howtoforge/ubuntu

Cantumkan gambar di sistem Anda untuk memverifikasi bahwa gambar ubuntu telah dihapus.

docker image ls

5. Jalankan perintah di bawah untuk mendownload image my-ubuntu dari Docker Hub Anda.

docker pull howtoforge/ubuntu

6. Buat daftar gambar di host Anda lagi untuk memverifikasi bahwa gambar ubuntu telah ditarik. Anda akan melihat gambar my-ubuntu di sistem Anda.

docker image ls

Saat Anda bekerja dengan gambar, Anda mungkin ingin mencari gambar tertentu di registri Docker. Anda dapat menggunakan perintah pencarian buruh pelabuhan untuk mencari gambar di registri Docker.

7. Jalankan perintah pencarian buruh pelabuhan untuk melihat semua opsi dan parameter yang tersedia.

man docker search

Anda akan melihat output berikut. Anda dapat melihat opsi pemfilteran yang bermanfaat seperti:

  • bintang= :memfilter hasil pencarian berdasarkan jumlah bintang yang dimiliki gambar di Docker Hub. Anda dapat menggunakan ini untuk menemukan gambar paling populer.
  • is-automated=(true|false) :memfilter hasil penelusuran untuk menyertakan atau mengecualikan pembuatan otomatis. Anda dapat menggunakan ini untuk menemukan gambar yang merupakan atau bukan pembuatan otomatis.
  • is-official=(true|false) :menyaring hasil pencarian untuk menyertakan atau mengecualikan gambar resmi. Anda dapat menggunakan ini untuk menemukan gambar yang resmi didukung oleh perusahaan di balik gambar tersebut. Misalnya, Ubuntu adalah perusahaan resmi di balik gambar Ubuntu. Nginx adalah perusahaan resmi di balik gambar Nginx. Anda harus selalu menggunakan gambar resmi jika memungkinkan karena telah diuji oleh perusahaan dan cenderung stabil. Jika Anda mengalami masalah dengan gambar resmi, Anda bisa mendapatkan bantuan dari perusahaan yang menyediakan gambar tersebut.

8. Misalnya, jalankan perintah docker search --filter=stars=4 ubuntu untuk mencari image ubuntu dengan 4 bintang atau lebih di Docker Hub.

docker search --filter=stars=4 ubuntu

9. Jalankan perintah di bawah ini untuk mencari gambar ubuntu yang merupakan gambar resmi dari Ubuntu.

docker search --filter=is-official=true ubuntu

Outputnya harus berupa daftar repositori yang berisi gambar ubuntu dan menunjukkan bahwa itu adalah gambar resmi Ubuntu(OK ), seperti yang ditunjukkan di bawah ini.

10. Jalankan perintah di bawah ini untuk mencari gambar ubuntu yang memiliki peringkat setidaknya 100 bintang di Docker Hub dan merupakan gambar resmi Ubuntu.

docker search --filter="stars=100" --filter=is-official=true ubuntu

Gambar Docker adalah cara yang bagus untuk menyimpan kode dan konfigurasi aplikasi Anda. Tetapi pada saat yang sama, mudah untuk mengumpulkan banyak gambar yang tidak digunakan, terutama jika Anda menguji aplikasi yang berbeda atau mencoba konfigurasi yang berbeda. Anda mungkin menemukan bahwa Anda tidak lagi memerlukan beberapa gambar di registry Anda.

Anda dapat menghapus gambar dengan menavigasi ke repositori yang berisi gambar dan mengklik tombol hapus.

11. Misalnya, di Docker Hub, navigasikan ke repositori howtoforge/ubuntu. Klik Setelan> Hapus Repositori . Konfirmasikan bahwa Anda ingin menghapus repositori dengan mengetikkan nama repositori. Klik Hapus .

Arahkan kembali ke dasbor dan Anda akan melihat bahwa repositori howtoforge/ubuntu sekarang telah dihapus bersama dengan gambar ubuntu.

Kesimpulan

Selamat! Anda sekarang telah mencapai akhir artikel. Anda sekarang harus memiliki pemahaman dasar tentang gambar Docker dan cara bekerja dengannya. Jika Anda ingin mempelajari lebih lanjut tentang Docker, sebaiknya baca dokumentasi resmi Docker tempat Anda dapat menemukan informasi lebih lanjut tentang topik seperti:

  • Dockerfiles
  • Jaringan
  • Volume
  • Layanan
  • Mode kawanan

Docker
  1. Memulai dengan Zsh

  2. Memulai dengan ls

  3. Memulai PostgreSQL di Linux

  1. Memulai dengan GnuCash

  2. Cara Berbagi Gambar Docker Dengan Orang Lain

  3. Cara Memodifikasi Gambar Docker

  1. Memulai OKD di desktop Linux Anda

  2. Memulai dengan Etcher.io

  3. Memulai dengan Tmux