Docker adalah seperangkat platform sebagai produk layanan yang menggunakan virtualisasi tingkat OS untuk mengirimkan perangkat lunak dalam paket yang disebut kontainer. Kontainer diisolasi satu sama lain dan menggabungkan perangkat lunak, pustaka, dan file konfigurasi mereka sendiri; mereka dapat berkomunikasi satu sama lain melalui saluran yang ditentukan dengan baik.
Pos Terkait
- Cara menginstal dan mengkonfigurasi buruh pelabuhan Di Fedora 34/35
- Cara menginstal dan mengkonfigurasi buruh pelabuhan di Debian 11
- Cara menginstal dan mengkonfigurasi buruh pelabuhan Di Centos 8
- Memulai Menulis Docker Dengan Contoh
- Docker sebagai agen build – Jalankan build Jenkins di Docker
Prasyarat
Untuk mengikuti, pastikan Anda memiliki:
- Sistem Ubuntu 20.04
- Akses internet dari sistem
- Akses root atau pengguna dengan akses sudo
Daftar Isi
- Pastikan paket sistem Anda mutakhir
- Copot pemasangan versi sebelumnya jika ada
- Instal mesin buruh pelabuhan menggunakan repositori
- Instal mesin buruh pelabuhan dari sebuah paket
- Instal menggunakan skrip praktis
- Verifikasi pemasangan
- Mengeksekusi Perintah Docker Tanpa Sudo
- Mencopot pemasangan buruh pelabuhan saat dibutuhkan lagi
1. Pastikan paket sistem Anda mutakhir
Sebelum melanjutkan, izinkan kami memastikan paket Anda diperbarui
sudo apt update
sudo apt upgrade -y
2. Copot pemasangan versi sebelumnya jika ada
Paket yang menyediakan versi lama Docker adalah docker
, docker.io
, atau docker-engine
.
Mari kita gunakan perintah ini untuk memastikan bahwa paket-paket ini tidak ada di sistem kita:
sudo apt-get remove -y docker docker-engine docker.io containerd runc
Tidak masalah jika apt-get melaporkan bahwa tidak ada paket ini yang diinstal.
Menginstal buruh pelabuhan
Anda dapat menginstal Docker Engine dengan berbagai cara, bergantung pada kebutuhan Anda:
- Anda dapat mengatur repositori buruh pelabuhan dan menginstal buruh pelabuhan menggunakan apt
- Anda dapat mengunduh paket DEB dan menginstal secara manual
- Anda dapat memilih untuk menggunakan skrip kemudahan otomatis untuk menginstal Docker
3. Instal mesin buruh pelabuhan menggunakan repositori
Pada Host baru, repositori buruh pelabuhan tidak ada. Untuk pertama kalinya di mesin host baru, Anda perlu menyiapkan repositori Docker. Setelah itu, Anda dapat menginstal dan memperbarui Docker dari repositori.
Mari kita instal paket berikut untuk memungkinkan apt menggunakan repositori melalui HTTPS:
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
Tambahkan kunci GPG resmi Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Gunakan perintah berikut untuk menyiapkan repositori stabil.
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Instal Mesin Docker
Perbarui indeks paket apt karena kami menambahkan repositori baru:
sudo apt-get update
Sekarang mari kita instal versi terbaru dari Docker Engine dan containerd usi
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
Opsional:Menginstal versi tertentu
Jika Anda memiliki persyaratan yang mengharuskan versi tertentu, Anda dapat melakukannya.
Untuk menginstal versi tertentu:
Cantumkan versi yang tersedia di repo Anda:
$ sudo apt-cache madison docker-ce
docker-ce | 5:20.10.9~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.8~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.7~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.6~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.5~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.4~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.3~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.2~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.1~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:20.10.0~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:19.03.15~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:19.03.14~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:19.03.13~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:19.03.12~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:19.03.11~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:19.03.10~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
docker-ce | 5:19.03.9~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
Sekarang Anda dapat Menginstal versi tertentu menggunakan string versi dari kolom kedua, misalnya, 5:19.03.9~3-0~ubuntu-focal
.
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
Contoh:
sudo apt-get install docker-ce=5:19.03.9~3-0 docker-ce-cli=5:19.03.9~3-0 containerd.io
4. Instal mesin buruh pelabuhan dari sebuah paket
Jika Anda tidak dapat menggunakan repositori Docker untuk menginstal Docker Engine, Anda dapat mengunduh file .deb untuk rilis Anda dan menginstalnya secara manual. Anda perlu mengunduh file baru setiap kali ingin memutakhirkan Docker.
Buka https://download.docker.com/linux/ubuntu/dists/, pilih versi Ubuntu Anda, lalu ramban ke pool/stable/
, pilih amd64
, armhf
, atau arm64
, dan unduh file .deb untuk versi Docker Engine yang ingin Anda instal.
Instal Docker Engine, ubah jalur di bawah ini ke jalur tempat Anda mengunduh paket Docker.
sudo dpkg -i /path/to/package.deb
Daemon Docker dimulai secara otomatis.
Verifikasi bahwa Docker Engine diinstal dengan benar dengan menjalankan image hello-world.
sudo docker run hello-world
Perintah ini mengunduh gambar uji dan menjalankannya dalam wadah. Saat container berjalan, container akan mencetak pesan informasi dan keluar.
5. Instal menggunakan skrip kenyamanan
Docker menyediakan skrip kemudahan di get.docker.com untuk menginstal Docker ke dalam lingkungan pengembangan dengan cepat dan non-interaktif.
Contoh ini mengunduh skrip dari get.docker.com dan menjalankannya untuk menginstal rilis stabil terbaru Docker di Linux:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
6. Verifikasi pemasangan
Setelah instalasi, buruh pelabuhan akan berjalan sebagai daemon. Untuk memeriksa apakah buruh pelabuhan sedang berjalan, kita menggunakan systemctl status docker
perintah:
$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2021-10-08 05:35:57 UTC; 3min 50s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 146750 (dockerd)
Tasks: 8
Memory: 30.0M
CGroup: /system.slice/docker.service
└─146750 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.378859538Z" level=warning msg="Your kernel does not support CPU r>
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.378869630Z" level=warning msg="Your kernel does not support cgrou>
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.378877385Z" level=warning msg="Your kernel does not support cgrou>
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.379112713Z" level=info msg="Loading containers: start."
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.500736755Z" level=info msg="Default bridge (docker0) is assigned >
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.560469239Z" level=info msg="Loading containers: done."
Active: active (running)
menunjukkan bahwa buruh pelabuhan dimulai dengan sukses.
Kita dapat menjalankan hello-world
image untuk menguji apakah buruh pelabuhan berfungsi seperti yang diharapkan:
sudo docker run hello-world
Perintah ini mengunduh gambar uji dan menjalankannya dalam wadah. Saat container berjalan, container akan mencetak pesan informasi dan keluar.
Saya mendapatkan hasil ini, menunjukkan bahwa ini berfungsi dengan baik:
$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:9ade9cc2e26189a19c2e8854b9c8f1e14829b51c55a630ee675a5a9540ef6ccf
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
7. Menjalankan Perintah Docker Tanpa Sudo
Secara default, perintah docker hanya dapat dijalankan oleh pengguna root atau oleh pengguna di grup docker, yang secara otomatis dibuat selama proses instalasi Docker. Jika Anda mencoba menjalankan perintah buruh pelabuhan tanpa mengawalinya dengan sudo atau tanpa berada di grup buruh pelabuhan, Anda akan mendapatkan output seperti ini:
$ docker ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
Jika Anda ingin menghindari mengetik sudo setiap kali Anda menjalankan perintah buruh pelabuhan, tambahkan nama pengguna Anda ke grup buruh pelabuhan:
sudo usermod -aG docker ${USER}
Untuk menerapkan keanggotaan grup baru, keluar dari server dan masuk kembali, atau ketik berikut ini:
su - ${USER}
Anda akan diminta memasukkan sandi pengguna untuk melanjutkan.
Konfirmasikan bahwa pengguna Anda sekarang telah ditambahkan ke grup buruh pelabuhan dengan mengetik:
id -nG
Saya melihat ini, mengonfirmasi bahwa saya sekarang termasuk dalam grup buruh pelabuhan
$ id -nG
ubuntu docker
Sekarang saya dapat melakukan buruh pelabuhan:
Saya dapat menjalankan gambar alpine
$ docker run --rm -it --name alpine --entrypoint /bin/sh alpine:3
Unable to find image 'alpine:3' locally
3: Pulling from library/alpine
a0d0a0d46f8b: Pull complete
Digest: sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a
Status: Downloaded newer image for alpine:3
/ #
Kami telah berhasil menginstal buruh pelabuhan di sistem kami!
8. Menghapus instalasi buruh pelabuhan saat dibutuhkan lagi
Untuk sepenuhnya menghapus mesin buruh pelabuhan dari sistem, kita perlu menghapus instalasi Mesin Docker, CLI, dan paket Containerd:
sudo apt-get purge docker-ce docker-ce-cli containerd.io -y
Gambar, wadah, volume, atau file konfigurasi khusus di host Anda tidak dihapus secara otomatis. Untuk menghapus semua gambar, wadah, dan volume:
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
Anda harus menghapus file konfigurasi yang diedit secara manual.
Kesimpulan
Dalam panduan ini kami berhasil menginstal buruh pelabuhan di luar sistem Ubuntu 20.04.