পাইথন লাইব্রেরি API ব্যবহার করে ডকার অবজেক্ট (কন্টেইনার, ইমেজ, ক্লাস্টার, সর্ম ইত্যাদি) এক্সেস, ম্যানেজ ও ম্যানিপুলেট করা যায়। এটি ডকার CLI কমান্ডের সব কাজ পাইথন স্ক্রিপ্টে করতে দেয়। ডজ্যাঙ্গো বা ফ্লাস্ক অ্যাপ্লিকেশন থেকে ডকার কন্টেইনার কন্ট্রোল করার জন্য এটি খুব কাজে আসে।
ইনস্টলেশন
pip3 install docker-py
ডকার ডিমনের সাথে কানেকশন
from docker import Client myClient = Client(base_url='unix://var/run/docker.sock')
প্রধান অপারেশনসমূহ
কন্টেইনার লিস্ট করা
myClient.containers()
নতুন কন্টেইনার তৈরি
myContainer = myClient.create_container(image='ubuntu:latest', command='/bin/bash') print(myContainer['Id'])
কন্টেইনার ইনস펙্ট
myClient.inspect_container('container_id')
myClient.inspect_container('container_id')['Name']
myClient.inspect_container('container_id')['Created']
কন্টেইনার কমিট (ইমেজ বানানো)
myClient.commit('container_id', tag='container1')
কন্টেইনার রিস্টার্ট (ট্রাই-ক্যাচ ব্লকে)
try:
myClient.restart('container_id')
except Exception as e:
print(e)
ইমেজ লিস্ট ও ইনস্পেক্ট
images = myClient.images()
print(images[0])
myClient.inspect_image('image_id')
ভলিউম ম্যানেজমেন্ট
volumes = myClient.volumes()
print(volumes['Volumes'][0])
# ভলিউম তৈরি
volume = myClient.create_volume(name='myVolume1', driver='local', driver_opts={})
print(volume)
myClient.inspect_volume('myVolume1')
ভলিউম মাউন্ট সহ কন্টেইনার তৈরি
mounted_container = myClient.create_container(
'ubuntu', 'ls',
volumes=['/var/lib/docker/volumes/myVolume1'],
host_config=myClient.create_host_config(binds=[
'/var/lib/docker/volumes/myVolume1:/usr/src/app/myVolume1'
])
)
পাইথন স্ক্রিপ্ট থেকে ডকার কমান্ড চালানোর এই পদ্ধতি CI/CD পাইপলাইন, ওয়েব অ্যাপ্লিকেশন এবং অটোমেশন টুল তৈরির জন্য আদর্শ।