OpenClaw를 도커 컨테이너에 격리하여 사용하는 방법을 완전히 재현 가능하게 정리하였습니다.
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl status docker
sudo groupadd docker
sudo usermod -aG docker $USER
재부팅!
docker ps -a 를 했을 때 오류가 나지 않으면 도커 설치는 잘 됐습니다.mkdir openclaw-docker
cd openclaw-docker
sudo vim Dockerfile
FROM node:22-slim
RUN apt-get update && \
apt-get install -y \
git \
python3 \
build-essential && \
npm install -g openclaw && \
apt-get clean
WORKDIR /app
ENV HOME=/home/node
:wq! 키를 누르면 저장됩니다.docker build -t openclaw-node22 .
sudo vim docker-compose.yml
services:
openclaw:
image: openclaw-node22
container_name: openclaw
working_dir: /app
ports:
- "18789:18789"
volumes:
- ./openclaw:/home/node/.openclaw
environment:
HOME: /home/node
command: ["openclaw","gateway","--bind", "loopback","--port", "18789","--allow-unconfigured"]
restart: unless-stopped
# 아래 명령어를 통해 openclaw 게이트웨이를 띄울 수 있습니다.
docker compose up -d
# 아래 명령어는 게이트웨이를 내리는 명령어입니다. 컨테이너 내부 오류가 나면 한번씩 내렸다가 다시 실행해주세요.
docker compose down
# 아래 명령어는 직접 도커 컨테이너 내부로 진입 가능합니다.
docker compose exec openclaw bash
docker compose exec openclaw bash
openclaw setup
openclaw tui

openclaw config



openclaw tui 실행
docker-compose.yml 파일 수정services:
openclaw:
image: openclaw-node22
container_name: openclaw
ports:
- "18789:18789"
volumes:
- ./openclaw:/home/node/.openclaw
command:
[
"openclaw",
"gateway",
"run",
"--bind", "lan",
"--port", "18789",
]
restart: unless-stopped
openclaw.json 수정vim openclaw-docker/openclaw/openclaw.json
"gateway": {
"controlUi": {
"dangerouslyAllowHostHeaderOriginFallback": true
}
:wq! 저장이후 docker compose up -d 실행
localhost:18789 접속하면 뜨는 오류
docker compose exec openclaw bash 에서 cat /home/node/.openclaw/openclaw.json 에서 토큰을 복사해서 아래처럼 넣습니다.

pairing required 이 뜰텐데,다시 docker compose exec openclaw bash 에 들어가서

openclaw devices list # 승인 실패된 디바이스 확인 후
openclaw devices approve [Device ID]
