Docker Command
#Image Command
docker image ls (Melihat image yg tersedia di docker server)
docker image pull nama_image:no_versi (Mendownload image dari registry [hub.docker.org])
docker image rm nama_image:no_versi (Menghapus image)
#Container Command
docker container ls -a (Melihat semua container yg running atau tidak)
docker container ls (Melihat container yg running saja)
docker container create --name namacontainer naamaimage:no_versi/tag (Membuat container)
docker container start containerid/namacontainer (Start container yg sudah dibuat sebelumnya)
docker container stop containerid/namacontainer (Stop container yg sedang running)
docker container rm containerid/namacontainer (Delete container)
#Container Logs
docker container logs containerid/namacontainer (Melihat log dari container)
docker container logs -f containerid/namacontainer (Melihat log dari container secara realtime)
# Container Exec
docker container exec -i -t containerid/namacontainer /bin/bash (Masuk ke bash container)
-i -> interaktif, menjaga input tetap aktif. -t -> utk alokasi pseudo -TTY(Terminal akses)
#Container Port
docker container create --name namacontainer --publish porthost:portcontainer image:tag
#Container Environment Variable
docker container create --name namacontainer --publish porthost:portcontainer --env KEY="value" env KEY2="value" image:tag
#Container Stats
docker container stats (Melihat penggunaan resource setiap container)
#Container Resource Limit
docker container create --name namacontainer --publish porthost:portcontainer --memory m/g --cpus core image:tag
example : docker container --name smallnginx --publish 8081:80 --memory 100m --cpus 0.5 nginx:latest
#Bind Mounts
docker container create --name namacontainer --mount "type=bind,source=folder(di host),destination=folder(di container), \
readonly(jika hanya utk baca tidak bisa tulis)" --publish porthost:portcontainer image:tag
example : docker container create --name mongodata --mount "type=bind,source=/home/ubuntu/mongo-data,destination=/data/db" \
--env MONGO_INITDB_ROOT_USERNAME=irham --env MONGO_INITDB_ROOT_PASSWORD=irham --publish 27017:27017 mongo:latest
docker container create --name nginxirham2 --mount "type=bind,source=/home/ubuntu/nginx, \
destination=/usr/share/nginx/html" --publish 8888:80 nginx:latest
#Docker Volume
docker volume ls (Melihat volume yg dibuat oleh container)
docker volume create namavolume (Membuat volume)
docker volume rm namavolume (Menghapus volume)
#Container Volume
docker container create --nama mongovolume --mount "type=volume,source=mongodata,destination=/data/db" --publish 83:27017 --env \
MONGO_INITDB_ROOT_USERNAME=irham --env MONGO_INITDB_ROOT_PASSWORD=irham mongo:latest
#Docker Backup Volume
- Stop dahulu container yg ingin di backup volumenya (docker container stop namacontainer/id)
- Buat folder di hostOS (mkdir backup)
- Buat container baru utk backup volume (docker container create --name testbackup --mount "type=bind, \
source=/home/ubuntu/backup,destination=/backup" --mount "type=volume,source=namavolume,destination=/data" image:tag)
- Jalankan container (docker container start namacontainer)
- Masuk ke container (docker container exec -i -t namacontainer /bin/bash)
- Backup menggunakan tar/atau yg lain (tar cvf /backup/backup.tar.gz /data)
- Jika sudah selesai langsung exit (exit)
- Stop containernya (docker container stop namacontainer)
- Hapus containernya (docker container rm namacontainer)
- Selesai, silahkan jalankan container kembali.
- Note: silahkan cek di folder (backup) hostOS file yg di backup.
#Backup dengan container run
- Stop dahulu container yg ingin di backup volumenya
- docker container run --rm --name ubuntu --mount "type=bind,source=/home/ubuntu/backup,destination=/backup" --mount \
"type=volume,source=namavolume,destination=/data" ubuntu:latest tar cvf /backup/backup2.tar.gz /data
- Tunggu sebentar, selesai. Silahkan jalankan container kembali.
#Docker Restore Volume
- Buat volume baru (docker volume create testrestorevolume)
- docker container run --rm --name ubuntu --mount "type=bind,source=/home/ubuntu/backup" --mount "type=volume, \
soure=testrestorevolume,destination=/data" ubuntu:latest bash -c "cd /data && tar xvf /backup/backup/tar.gz --strip 1"
- Tunggu sebentar, selesai. Silahkan buat container baru dengan volume yang baru di restore.
#Docker Network
docker network ls (Melihat network di docker)
docker network create --driver namadriver namanetwork (Membuat network baru)
example: docker network create --driver bridge testnet
docker network rm namanetwork (Menghapus network)
#Container Network
docker container create --name namacontainer --network namanetwork image:tag (Membuat container dengan network)
example: docker container create --name mongodb --network mongonetwork --env MONGO_INITDB_ROOT_USERNAME=irham --env \
MONGO_INITDB_ROOT_PASSWORD=irham mongo:latest
docker container create --name mongoexpress --network mongonetwork --publish 8081:8081 --env \
ME_CONFIG_MONGODB_URL="mongodb://irham:irham@mongodb:27017/" mongo-express:latest
docker network disconnect namanetwork namacontainer (Menghapus network di container)
example: docker network disconnect mongonetwork mongodb
docker network connect namanetwork namacontainer (Menambahkan network di container)
example : docker network connect mongonetwork mongodb
#Docker Inspect
docker image inspect namaimage (Melihat detail dari image)
docker container inspect namacontainer (Melihat detail dari container)
docker volume inspect namavolume (Melihat detail dari volume)
docker network inspect namanetwork (Melihat detail dari network)
#Docker Prune
docker container prune (Menghapus semua container yang sudah stop)
docker image prune (Menghapus semua image yang tidak digunakan container)
docker network prune (Menghapus semua network yang tidak digunakan container)
docker volume prune (Menghapus semua volume yang tidak digunakan container)
docker system prune (Mengapus semua image, container, network yang sudah tidak digunakan lagi)
Source: ProgrammerZamanNow
Note: Hanya sebagai catatan saya
0 komentar:
Posting Komentar