Code Python sử dụng FastAPI để tạo một API khởi chạy container Docker
Dưới đây là đoạn code Python sử dụng FastAPI để tạo một API khởi chạy container Docker. Thư viện docker của Python sẽ được sử dụng để giao tiếp với Docker Engine.
✅ 1. Cài đặt thư viện cần thiết:#
pip install fastapi uvicorn docker
✅ 2. Code Python API chạy container Docker:#
` from fastapi import FastAPI, HTTPException from pydantic import BaseModel import docker
app = FastAPI() client = docker.from_env()
class ContainerRequest(BaseModel): image: str name: str = None command: str = None
@app.post("/run-container") def run_container(request: ContainerRequest): try: container = client.containers.run( image=request.image, name=request.name, command=request.command, detach=True ) return { "status": "started", "container_id": container.id, "name": container.name } except docker.errors.ImageNotFound: raise HTTPException(status_code=404, detail="Image not found") except docker.errors.APIError as e: raise HTTPException(status_code=500, detail=str(e))
@app.get("/containers") def list_running_containers(): containers = client.containers.list() return [{"id": c.id, "name": c.name, "image": c.image.tags} for c in containers] `
✅ 3. Chạy API server:#
uvicorn docker_api:app --reload
docker_apilà tên file bạn lưu đoạn mã trên (ví dụ:docker_api.py)
✅ 4. Gọi thử API:#
Gửi POST tới /run-container với JSON:
{ "image": "nginx", "name": "my-nginx" }
=> Kết quả: Docker sẽ khởi chạy container nginx với tên my-nginx.
Bài liên quan trong #Python
-
Mẹo dùng claude code desktop với dự án lớn
minhdev -
Hướng dẫn cài docker trên ubuntu 24
minhdev -
Hướng dẫn đầy đủ về cách cài và dùng Claude trên PC, kèm các mẹo hay!
minhdev · 💬 1 -
Cách xây dựng API cho CMS bằng Java từ A-Z
minhdev · 💬 1 -
Dể xây dựng phần mềm quản lý tài sản cho 1 doanh nghiệp ta cần làm gì
minhdev