Agentic AI/Google ADK
9. G-ADK Tool 활용[5](2/3) - ContainerCodeExecutor (도커 기반 컨테이너 실행)를 다루는 코드
아톨
2026. 10. 10. 17:56
Google ADK의 코드 실행(Code Execution) 방법 중 두 번째 방식인 ContainerCodeExecutor (도커 기반 컨테이너 실행)를 다루는 코드입니다.
1. ContainerCodeExecutor의 핵심 개념
앞서 보았던 BuiltInCodeExecutor가 ADK 내부의 기본 환경에서 코드를 실행했다면, ContainerCodeExecutor는 격리된 도커(Docker) 컨테이너 안에서 안전하게 파이썬 코드를 실행하는 방식입니다.
- 완벽한 보안과 격리: 에이전트가 실수로 위험한 코드나 시스템 명령어를 실행하더라도, 호스트(내 컴퓨터)가 보호되고 도커 컨테이너 내부만 영향을 받습니다.
- 환경 맞춤화: 프로젝트에 필요한 특정 파이썬 버전이나 외부 패키지가 미리 설치된 도커 이미지를 자유롭게 지정할 수 있습니다.

2. 코드 라인별 상세 해설
- from google.adk.code_executors import ContainerCodeExecutor
- 도커 컨테이너 환경에서 파이썬 코드를 실행할 수 있도록 해주는 전용 실행기 모듈을 불러옵니다.
- container_executor = ContainerCodeExecutor( ... )
- 도커 기반 실행기의 세부 옵션을 설정하여 객체를 생성합니다.
- image="python:3.13-slim": 코드를 실행할 때 사용할 도커 이미지입니다. 여기서는 가볍고 빠른 파이썬 3.13 슬림 버전 이미지(python:3.13-slim)를 사용하도록 지정했습니다.
- base_url="tcp://localhost:2375": 파이썬 코드가 도커 데몬(Docker Daemon)과 통신할 수 있도록 연결 주소를 지정한 것입니다. 주로 Windows 환경 등에서 TCP 소켓 통신을 열어둘 때 사용되는 설정입니다.
- code_executor=container_executor
- 에이전트 생성 시 BuiltInCodeExecutor 대신 위에서 정의한 도커 컨테이너 실행기(container_executor)를 장착합니다. 이제 이 에이전트는 복잡한 연산이 필요할 때마다 도커 컨테이너를 띄워 그 안에서 코드를 안전하게 돌리게 됩니다.
- instruction="당신은 수학 및 데이터 분석 전문가입니다..."
- 에이전트의 페르소나를 부여하며, 복잡한 계산이나 로직 검증이 필요할 때 머리로 추정하지 말고 직접 코드를 작성해 도커 안에서 실행하고 정확한 값을 도출하도록 지시합니다.
import os
from google.adk import Agent
from google.adk.code_executors import ContainerCodeExecutor
# Docker기반 코드 실행도구 구성하기
container_executor = ContainerCodeExecutor(
image="python:3.13-slim",
# base_url, docker_path 등을 필요에 따라 추가
base_url="tcp://localhost:2375"
)
coding_agent = Agent(
model=os.getenv("GOOGLE_MODEL","gemini-3.5-flash"),
name="coding_agent",
code_executor=container_executor,
instruction="당신은 수학 및 데이터 분석 전문가입니다. 복잡한 계산이나 로직이 필요한 경우, 직접 파이썬 코드를 작성하고 실행하여 정확한 결과값을 도출하세요."
)
# adk web 명령어가 실행한 진입점
root_agent = coding_agent
* Docker Desktop 설정 (톱니바퀴 아이콘:settings) / General 항목 / 데몬 노출 활성화(Expose daemon on tcp://localhost:2375 without TLS) 체크 박스 활성
반응형