Docker adalah teknologi containerization yang memungkinkan Anda dengan cepat membangun, menguji, dan menyebarkan aplikasi sebagai container portabel dan mandiri yang dapat berjalan hampir di mana saja. Docker telah menjadi standar de facto untuk penerapan container, dan merupakan alat penting bagi para insinyur DevOps serta integrasi berkelanjutan dan jalur pengiriman mereka.
Dalam tutorial ini, kita akan membahas cara menginstal Docker pada mesin Ubuntu 18.04 dan menjelajahi konsep dan perintah Docker dasar.
Prasyarat #
Sebelum melanjutkan dengan tutorial ini, pastikan Anda masuk sebagai pengguna dengan hak istimewa sudo. Semua perintah dalam tutorial ini harus dijalankan sebagai pengguna non-root.
Menginstal Docker di Ubuntu #
Meskipun paket instalasi Docker tersedia di repositori resmi Ubuntu 18.04, mungkin tidak selalu versi terbaru. Pendekatan yang disarankan adalah menginstal paket Docker terbaru dari repositori Docker.
Mengaktifkan repositori Docker #
-
Mulailah dengan memperbarui daftar paket dan menginstal dependensi yang diperlukan untuk menambahkan repositori baru melalui HTTPS:
sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
-
Impor kunci GPG repositori menggunakan
curl
berikut perintah:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
-
Tambahkan repositori Docker APT ke sistem Anda:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Menginstal Docker CE #
Sekarang setelah repositori Docker diaktifkan, Anda dapat menginstal versi Docker apa pun yang Anda butuhkan.
-
Untuk menginstal versi terbaru Docker gunakan perintah di bawah ini. Jika Anda ingin menginstal versi Docker tertentu, lewati langkah ini dan lanjutkan ke yang berikutnya.
sudo apt update
sudo apt install docker-ce
-
Untuk menginstal versi tertentu, pertama-tama daftarkan versi yang tersedia di repositori Docker:
apt list -a docker-ce
Perintah mencetak versi Docker yang tersedia di kolom kedua.
docker-ce/bionic 5:18.09.7~3-0~ubuntu-bionic amd64 docker-ce/bionic 5:18.09.6~3-0~ubuntu-bionic amd64 docker-ce/bionic 5:18.09.5~3-0~ubuntu-bionic amd64
Misalnya, untuk menginstal versi
18.09.6
Anda akan mengetik:sudo apt install docker-ce=5:18.09.6~3-0~ubuntu-bionic
Untuk mencegah paket Docker diperbarui secara otomatis, tandai sebagai ditahan:
sudo apt-mark hold docker-ce
Setelah instalasi selesai, layanan Docker akan mulai secara otomatis. Anda dapat memverifikasinya dengan mengetik:
sudo systemctl status docker
Outputnya akan terlihat seperti ini:
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor p
Active: active (running) since Tue 2019-07-02 11:28:40 UTC; 15min ago
Docs: https://docs.docker.com
Main PID: 11911 (dockerd)
Tasks: 10
CGroup: /system.slice/docker.service
Menjalankan perintah buruh pelabuhan tanpa sudo #
Secara default, menjalankan perintah Docker memerlukan hak administrator.
Untuk menjalankan perintah Docker sebagai pengguna non-root tanpa menambahkan sudo
anda perlu menambahkan pengguna Anda ke docker
kelompok. Grup ini dibuat selama penginstalan paket Docker CE. Untuk melakukannya jalankan perintah berikut:
sudo usermod -aG docker $USER
$USER
adalah variabel lingkungan yang menyimpan nama pengguna Anda.
Keluar dan masuk kembali untuk menyegarkan keanggotaan grup.
Untuk memverifikasi bahwa Docker telah berhasil diinstal dan Anda dapat menjalankan perintah buruh pelabuhan tanpa menambahkan sudo
, jalankan:
docker container run hello-world
Perintah akan mengunduh gambar uji, menjalankannya dalam wadah, mencetak pesan "Halo dari Docker" dan keluar. Outputnya akan terlihat seperti berikut:
Upgrade Docker #
Saat versi Docker baru dirilis, Anda dapat memperbarui paket menggunakan proses peningkatan standar:
sudo apt update
sudo apt upgrade
Mencopot pemasangan Docker #
Sebelum mencopot pemasangan Docker, hapus semua wadah, gambar, volume, dan jaringan.
Anda dapat menghapus Docker seperti paket lain yang diinstal dengan apt
:
sudo apt purge docker-ce
sudo apt autoremove
Antarmuka Baris Perintah Docker #
Perintah Docker CLI mengambil bentuk ini:
docker [option] [subcommand] [arguments]
Untuk membuat daftar semua perintah yang tersedia ketik docker
tanpa parameter:
docker
Jika Anda memerlukan bantuan lebih lanjut tentang [subcommand]
any , Anda dapat menggunakan --help
beralih seperti yang ditunjukkan di bawah ini:
docker [subcommand] --help
Gambar Docker #
Gambar Docker terdiri dari serangkaian lapisan sistem file yang mewakili instruksi dalam file Docker gambar yang membentuk aplikasi perangkat lunak yang dapat dieksekusi. Gambar adalah file biner yang tidak dapat diubah termasuk aplikasi dan semua dependensi lainnya seperti perpustakaan, biner, dan instruksi yang diperlukan untuk menjalankan aplikasi.
Anda dapat menganggap image Docker sebagai snapshot dari container Docker.
Sebagian besar gambar Docker tersedia di Docker Hub. Docker Hub adalah layanan registri berbasis cloud yang di antara fungsi lainnya digunakan untuk menyimpan image Docker di repositori publik atau pribadi.
Cari Gambar Docker #
Untuk mencari gambar dari registri Docker Hub, gunakan search
sub-perintah.
Misalnya, untuk mencari gambar Ubuntu, Anda harus mengetik:
docker search ubuntu
Outputnya akan terlihat seperti ini:
Seperti yang Anda lihat, pencarian mencetak tabel dengan lima kolom, NAME
, DESCRIPTION
, STARS
, OFFICIAL
dan AUTOMATED
.
Gambar resmi adalah gambar yang dikembangkan Docker bersama dengan mitra hulu.
Sebagian besar gambar Docker di Docker Hub ditandai dengan nomor versi. Ketika tidak ada tag yang ditentukan, Docker akan menarik yang terbaru.
Unduh Gambar Docker #
Misalnya, untuk mengunduh build resmi terbaru dari image Ubuntu 18.04, Anda akan menggunakan image pull
berikut perintah:
docker image pull ubuntu
Bergantung pada kecepatan Internet Anda, pengunduhan mungkin memerlukan waktu beberapa detik atau menit.
Saat tidak menentukan tag, Docker menarik gambar Ubuntu terbaru, yang pada saat penulisan artikel ini adalah 18.04.
Jika Anda ingin mengunduh rilis Ubuntu sebelumnya, katakanlah Ubuntu 16.04 maka Anda perlu menggunakan docker image pull ubuntu:16.04
.
Untuk membuat daftar semua gambar yang diunduh, ketik:
docker image ls
Outputnya akan terlihat seperti ini:
Hapus Gambar Docker #
Jika karena alasan tertentu, Anda ingin menghapus gambar, Anda dapat melakukannya dengan image rm [image_name]
sub-perintah:
docker image rm ubuntu
Kontainer Docker #
Instance dari sebuah image disebut container. Wadah mewakili waktu proses untuk satu aplikasi, proses, atau layanan.
Ini mungkin bukan perbandingan yang paling tepat, tetapi jika Anda seorang programmer, Anda dapat menganggap image Docker sebagai class dan container Docker sebagai instance dari class.
Kita dapat memulai, menghentikan, menghapus, dan mengelola sebuah container dengan docker container
sub-perintah.
Mulai Docker Container #
Perintah berikut akan memulai wadah Docker berdasarkan gambar Ubuntu. Jika Anda tidak memiliki gambar secara lokal, itu akan mengunduhnya terlebih dahulu:
docker container run ubuntu
Pada pandangan pertama, bagi Anda mungkin tampak bahwa tidak ada yang terjadi sama sekali. Yah, itu tidak benar. Kontainer Ubuntu berhenti segera setelah boot karena tidak memiliki proses yang berjalan lama, dan kami tidak memberikan perintah apa pun. Kontainer melakukan boot, menjalankan perintah kosong, lalu keluar.
Sakelar -it
memungkinkan kita untuk berinteraksi dengan wadah melalui baris perintah. Untuk memulai jenis penampung interaktif:
docker container run -it ubuntu /bin/bash
[root@719ef9304412 /]#
Seperti yang Anda lihat dari output di atas, setelah container dimulai, command prompt akan berubah. Ini berarti Anda sekarang bekerja dari dalam container.
Daftar Kontainer Docker #
Untuk membuat daftar penampung yang aktif, ketik:
docker container ls
Jika Anda tidak memiliki wadah yang berjalan, output akan kosong.
Untuk melihat wadah aktif dan tidak aktif, berikan -a
beralih:
docker container ls -a
Hapus Kontainer Docker #
Untuk menghapus satu atau lebih penampung, salin ID penampung (atau ID) dan tempel setelah container rm
sub-perintah:
docker container rm c55680af670c