Docker Cheatsheet

Beberapa parameter perintah docker yang sering digunakan

Konten Halaman

Berikut adalah lembar cepat Docker yang mencakup perintah paling penting dan konsep dari pemasangan hingga menjalankan kontainer dan membersihkannya:

logo Docker

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:

banyak gambar yang tidak memiliki tag

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