Docker Cheatsheet
Beberapa parameter perintah docker yang sering digunakan
Berikut adalah lembar cepat Docker yang mencakup perintah paling penting dan konsep dari pemasangan hingga menjalankan kontainer dan membersihkannya:
Pemasangan
Di Ubuntu
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
sudo apt install docker-ce
sudo systemctl start docker
Pemasangan Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
``").
## Perintah Umum Docker
### Versi dan Informasi Sistem
```bash
docker version # Menampilkan versi CLI dan daemon Docker
docker system info # Menampilkan data tentang lingkungan Docker Anda
docker help # Lihat indeks bantuan
docker <command> --help # Lihat informasi bantuan untuk perintah tertentu
Masuk dan Keluar
docker login # Masuk ke Docker Hub
docker logout # Keluar dari Docker Hub
Manajemen Gambar
Daftar Gambar
docker images # Daftar semua gambar
docker images -a # Daftar semua gambar, termasuk gambar antara
Tarik Gambar
docker pull <image-name:version> # Unduh gambar dari Docker Hub
Bangun Gambar
docker build -t <image-name> . # Bangun gambar dari Dockerfile di direktori saat ini
docker build -f <Dockerfile-path> -t <image-name> . # Bangun gambar dari Dockerfile tertentu
docker build --build-arg foo=bar . # Bangun gambar dengan argumen pembangunan
docker build --pull . # Tarik versi terbaru dari gambar yang disebutkan dalam instruksi FROM
docker build --quiet . # Bangun gambar tanpa mengeluarkan output
Tag dan Push Gambar
docker tag <local-image-name> <username>/<preferred-image-name>
docker push <username>/<preferred-image-name>
Hapus Gambar
docker rmi <image-name> # Hapus gambar tertentu
docker image prune # Hapus gambar yang tidak digunakan
docker image prune -a # Hapus semua gambar yang tidak digunakan
Hapus gambar yang tidak terikat
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
Hapus tag gambar
docker rmi repository/image-name:tag
Manajemen Kontainer
Jalankan Kontainer
docker run -itd --name <container-name> <image-name> # Jalankan kontainer dalam mode terpisah
docker run -it -p <host-port>:<docker-port> <image-name> # Jalankan kontainer dengan pemetaan port
docker run -it --name <container-name> <image-name> # Jalankan kontainer secara interaktif
Daftar Kontainer
docker ps # Daftar kontainer yang berjalan
docker ps -a # Daftar semua kontainer
docker ps -s # Daftar kontainer yang berjalan dengan penggunaan CPU dan memori
Mulai, Berhenti, dan Restart Kontainer
docker start <container-name> # Mulai kontainer yang berhenti
docker stop <container-name> # Berhentikan kontainer yang berjalan
docker restart <container-name> # Restart kontainer
Hapus Kontainer
docker rm <container-name> # Hapus kontainer yang berhenti
docker rm -f <container-name> # Hapus kontainer secara paksa
docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q) # Hapus semua kontainer
hapus semua kontainer yang berhenti
docker container prune
Terhubung ke Kontainer
docker attach <container-name> # Terhubung ke kontainer yang berjalan
docker exec -it <container-name> bash # Jalankan perintah di kontainer yang berjalan secara interaktif
Inspeksi Kontainer
docker inspect <container-name> # Inspeksi kontainer
docker logs <container-name> # Lihat log kontainer
docker port <container-name> # Tampilkan pemetaan port kontainer
Manajemen Jaringan
docker network ls # Daftar semua jaringan
docker network create <network-name> # Buat jaringan baru
docker network rm <network-name> # Hapus jaringan
Manajemen Volume
docker volume ls # Daftar semua volume
docker volume create <volume-name> # Buat volume baru
docker volume rm <volume-name> # Hapus volume
docker run -v <host-path>:<container-path> <image-name> # Pasang volume
Docker Compose
Perintah Dasar
docker-compose up # Mulai layanan yang didefinisikan dalam docker-compose.yml
docker-compose up -d # Mulai layanan dalam mode terpisah
docker-compose down # Berhentikan dan hapus layanan
docker-compose ps # Daftar layanan yang berjalan
docker-compose logs # Lihat log layanan
docker-compose start # Mulai layanan
docker-compose stop # Berhentikan layanan
docker-compose pause # Jeda layanan
docker-compose unpause # Hentikan jeda layanan
Perintah Dockerfile
Bangun Gambar dari Dockerfile
docker build -t <image-name> <Dockerfile-path> # Bangun gambar dari Dockerfile
Contoh Dockerfile
FROM <base-image>
RUN <command>
COPY <source> <destination>
EXPOSE <port>
CMD ["<command>", "<argument>"]
Keamanan dan Rahasia
Rahasia Docker
docker secret create <secret-name> <file> # Buat rahasia
docker secret ls # Daftar semua rahasia
docker secret rm <secret-name> # Hapus rahasia
Keamanan Docker
- Gunakan rahasia Docker untuk mengelola data sensitif secara terpusat dan mengirimkannya secara aman ke kontainer.
- Rahasia dienkripsi selama transit dan saat disimpan dalam swarm Docker.
Pembersihan
Hapus Sumber Daya yang Tidak Digunakan
docker system prune # Hapus data yang tidak digunakan (gambar, kontainer, jaringan, volume)
docker image prune # Hapus gambar yang tidak digunakan
docker container prune # Hapus kontainer yang tidak digunakan
docker network prune # Hapus jaringan yang tidak digunakan
docker volume prune # Hapus volume yang tidak digunakan
Hapus gambar yang tidak memiliki tag
Terkadang setelah kompilasi besar yang baik, muncul gambar seperti ini dari perintah docker images
:
untuk menghapus gambar-gambar tersebut dengan tag
docker rmi $(docker images --filter “dangling=true” -q --no-trunc)
yang di atas sudah usang dan tidak kompatibel. Parameter dangling=true sudah tidak digunakan. Gunakan
docker system prune
akan muncul peringatan:
WARNING! Ini akan menghapus:
- semua kontainer yang berhenti
- semua volume yang tidak digunakan oleh setidaknya satu kontainer
- semua jaringan yang tidak digunakan oleh setidaknya satu kontainer
- semua gambar yang tidak terikat
Anda mungkin memutuskan untuk mengatakan Ya terhadap peringatan ini…
Lembar cepat ini mencakup perintah dan konsep penting yang diperlukan untuk mengelola kontainer, gambar, jaringan, volume, dan lebih banyak lagi. Untuk penjelasan yang lebih mendalam, lihat panduan dan tutorial terperinci yang tersedia secara online.
Tautan yang Berguna
- Lembar Cepat Python
- Lembar Cepat Conda
- Lembar Cepat Bash
- Lembar Cepat Ollama
- Lembar Cepat Kubernetes
- Enkripsi - Dekripsi Base64 di Windows, Linux dan Mac
- Pasang Portainer di Linux
- Reinstall Linux
- Cara memulai jendela terminal yang terbagi di Linux Mint dan Ubuntu
- Minio sebagai alternatif Aws S3. Minio overview dan install
- Lembar Cepat Parameter Perintah MinIO