TopDev

Code Python sử dụng FastAPI để tạo một API khởi chạy container Docker

minhdev 📖 1 phút đọc

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_api là 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

✓ Đã sao chép link