강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

이정호님의 프로필 이미지
이정호

작성한 질문수

[기초 1편] OpenClaw.AI 마스터 클래스: Gemini와 Docker로 만드는 나만의 자율형 AI 에이전트

[실습] 볼륨 마운트: 내 PC와 AI 작업실 안전하게 연결하기

도커 오류발생

작성

·

12

0

openclaw-gateway 의 파일 탭의 접속이 됐다 안됐다 합니다.

원인을 알 수 있을까요?

image.png

 

An error has occurred while fetching the container files

맥 환경이고, 이렇게 작성하였습니다.

 

services:
  openclaw-gateway:
    image: ghcr.io/openclaw/openclaw:latest
    container_name: openclaw-gateway

    environment:
      - NODE_ENV=production
      - OPENCLAW_WORKSPACE_DIR=/home/node/workspace
      - OPENCLAW_GATEWAY_TOKEN=${OPENCLAW_GATEWAY_TOKEN}
      - OPENCLAW_GATEWAY_MODE=${OPENCLAW_GATEWAY_MODE}
    volumes:
      - ${OPENCLAW_CONFIG_DIR}:/home/node/.openclaw
      - ${OPENCLAW_WORKSPACE_DIR}:/home/node/workspace
    ports:
      - "${OPENCLAW_GATEWAY_PORT}:18789"
    restart: unless-stopped
    command: [
      "node",
      "dist/index.js",
      "gateway",
      "--allow-unconfigured",
      "--bind", "lan",
      "--port", "18789",
      "--token", "${OPENCLAW_GATEWAY_TOKEN}"
    ]
#1. server connettion setting
OPENCLAW_GATEWAY_PORT=3000
OPENCLAW_GATEWAY_TOKEN=token_123
OPENCLAW_GATEWAY_MODE=local

#3. directory setting
OPENCLAW_CONFIG_DIR=./config
OPENCLAW_WORKSPACE_DIR=./workspace

답변 3

0

이정호님의 프로필 이미지
이정호
질문자

빠른 답변 감사드립니다.


openclaw-gateway | 2026-03-14T06:00:31.058+00:00 Gateway failed to start: Error: non-loopback Control UI requires gateway.controlUi.allowedOrigins (set explicit origins), or set gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback=true to use Host-header origin fallback mode

이런 오류 메시지가 출력됩니다

Kevin님의 프로필 이미지
Kevin
지식공유자

지금 주신 로그를 보면, Docker나 Mac 쪽 문제라기보다 OpenClaw가 최신 버전으로 올라가면서 추가된 보안 체크에 걸려서 Gateway가 아예 못 떠 있는 상태입니다.

에러 메시지:

non-loopback Control UI requires gateway.controlUi.allowedOrigins …

이 말은 “브라우저에서 Control UI에 접속할 출발지(origin)를 명시적으로 허용해 달라”는 뜻이에요.

강의에서 최근에 업데이트한 내용과 연결해서 정리하면:

  1. openclaw.jsongateway.controlUi.allowedOrigins에,
    실제로 접속할 주소(예: http://localhost:3000 그리고 http://127.0.0.1:3000)를 넣어주셔야 합니다.

  2. 예시 (강의에서 쓰는 demo/config/openclaw.json 기준):

"gateway": {
    "port": 18789,
    "mode": "local",
    "bind": "loopback",
    "controlUi": {
      "allowedOrigins": [
        "http://localhost:3000",
        "http://127.0.0.1:3000"
      ]
    }
}

 

  • 여기서 3000 포트는 .envOPENCLAW_GATEWAY_PORT=3000 값과 맞춰주세요.

  • 만약 127.0.0.1:3000으로 접속하신다면 http://127.0.0.1:3000도 같이 넣을 수 있습니다.

  1. openclaw.json을 저장한 다음, 컨테이너를 다시 시작해 주세요.

docker compose down 
docker compose up -d

이렇게 하면 Gateway가 정상적으로 부팅되고, 더 이상 해당 에러가 뜨지 않아야 합니다.

※ 참고: 에러 메시지에 나오는
gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback=true 옵션은 개발/테스트용으로 “모든 Host 헤더를 믿겠다”는 의미라서, 강의에서는 가능하면 쓰지 않고 allowedOrigins를 명시하는 방식으로 안내드리고 있습니다.

OpenClaw가 탄생한지 그리 오래되지 않은 기술이라서 버전업 주기가 꽤 빠른편인데, origin 설정도 이번달에 추가된걸로 알고 있습니다.

관련해서 `섹션 3. 수업 11. [실습] Hello OpenClaw! 첫 번째 부팅과 시스템 점검` 영상에서설명드렸으니 참고하시면 좋을 것 같아요.

감사합니다.

0

Kevin님의 프로필 이미지
Kevin
지식공유자

안녕하세요 정호님.

질문주신 내용에 대한 답변을 드려보겠습니다.

 

openclaw-gateway 설정은 지금 강의에서 안내드린 구조(demo/config, demo/workspace)랑 잘 맞게 작성해 주셨어요.
말씀하신 “Docker Desktop Files 탭에서 접속이 됐다 안 됐다 한다”는 증상은, Mac용 Docker Desktop이 호스트 폴더를 마운트할 때 생기는 이슈일 가능성이 큽니다.

현재 .env를 보면:

OPENCLAW_CONFIG_DIR=./config
OPENCLAW_WORKSPACE_DIR=./workspace

이렇게 상대 경로로 되어 있습니다.
이 자체는 “반드시 demo 폴더 안에서 docker compose up을 실행한다”는 전제에서는 괜찮은데,
Mac에서는 다음 두 가지 때문에 문제가 생길 수 있어요.

  1. docker compose up을 실행한 위치가 demo 폴더가 아닐 때

    • 예를 들어 상위 폴더에서 docker compose up을 실행하면,
      Docker 기준 ./config, ./workspace다른 실제 위치를 가리키게 됩니다.

    • 이 경우, 컨테이너에 마운트된 경로가 계속 바뀌면서 Files 탭에서 폴더가 보였다 안 보였다 할 수 있습니다.

  2. demo 폴더 위치가 Docker Desktop의 File sharing 허용 범위 밖일 때

    • Docker Desktop → Settings → Resources → File sharing에서
      demo 폴더가 위치한 상위 경로(예: /Users/계정명/Projects 등)가 공유 허용으로 등록되어 있지 않으면,
      ./config, ./workspace 바인드 마운트가 실패할 수 있습니다.

    • 이 때도 Files 탭에서는 마치 접속이 불안정한 것처럼 보일 수 있습니다.

그래서 아래 순서로 한 번 점검해 보시면 좋겠습니다:

  1. 항상 demo 폴더 안에서만 실행하기

cd /Users/내계정명/path/to/demo
docker compose down
docker compose up -d openclaw-gateway

이렇게 하면 .env에 있는 ./config, ./workspace가 항상 demo/config, demo/workspace를 정확히 가리키게 됩니다.

  1. Docker Desktop File sharing 설정 확인 (Mac 전용)

  • Docker Desktop → Settings → Resources → File sharing에서
    demo 폴더가 들어 있는 상위 경로(예: /Users/내계정명/Dev, /Users/내계정명/Documents 등)가 목록에 포함돼 있는지 확인해 주세요.

  • 없다면 추가 후 Apply & Restart를 눌러 Docker를 재시작합니다.

  1. Files 탭에서 보는 경로 확인

  • 컨테이너 내부 기준으로:

    • /home/node/.openclawdemo/config와 연결 (설정, 내부 workspace 등)

    • /home/node/workspacedemo/workspace와 연결 (실제 강의에서 쓰는 작업 폴더)

  • Files 탭에서 주로 /home/node/workspace 아래를 보시고,
    demo/workspace에 파일을 하나 만들어서 양쪽에서 같이 보이는지 확인해 주세요.

이렇게 했을 때도 Files 탭 접속이 계속 들쭉날쭉하다면,
Mac Docker Desktop 버전 문제나, iCloud/보안 소프트웨어 쪽 간섭 가능성도 있을텐데,

docker-compose logs -f 명령으로 오류 메시지가 표시되는게 있는지 확인해보시고, 오류 메시지를 보여주시면 다시 한번 분석을 해보겠습니다.

 

해결 되시길 바랄게요!

감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다. 이정호님.

도커 컨테이너의 상태가 “Restarting”으로 표시되며 파일 탭에 오류가 발생하는 상황에 대해 도움을 드리고자 합니다. 일반적으로 “Restarting” 상태는 컨테이너 내부에서 오류가 발생하고, 이에 따라 자동으로 재시작을 시도하는 경우입니다. 이 문제를 해결하기 위해 몇 가지 체크포인트를 확인해 보세요.

문제 해결 방법:

  1. 로그 확인
    가장 먼저 해야 할 일은 도커 컨테이너 내의 로그를 확인하는 것입니다. 다음 명령어로 로그를 확인할 수 있습니다:

    docker logs openclaw-gateway
    

    로그를 통해 오류 메시지나 경고를 확인할 수 있으며, 이것이 문제를 해결하는 데 도움이 될 수 있습니다.

  2. 환경 변수 확인
    사용하고 있는 환경 변수들이 올바르게 설정되어 있는지 확인해 보세요. 특히 OPENCLAW_GATEWAY_TOKEN과 같은 중요한 변수가 올바르게 설정되어 있는지 체크하세요.

  3. 포트 사용 확인
    3000포트가 다른 프로세스에 의해 이미 사용되고 있는지 확인해 보세요. 포트 충돌이 발생하는 경우 다른 포트를 사용하도록 컨테이너 설정을 변경할 수 있습니다.

  4. 볼륨 설정 확인
    설정한 볼륨 경로(./config./workspace)가 OS에서 접근 가능한지, 경로가 올바르게 설정되어 있는지 확인하세요. 만약 경로가 없거나 접근할 수 없는 경우 오류가 발생할 수 있습니다.

  5. 재시작 정책 확인
    restart: unless-stopped 설정으로 인해 컨테이너가 오류 발생 시 자동으로 재시작을 시도하고 있습니다. 설정을 일시적으로 제거하고 문제의 원인을 안정적으로 파악한 후에 다시 추가하는 것도 방법입니다.

유사 사례 첨부

유사한 문제가 다루어진 답변 게시물로는 아래와 같은 사례를 참조할 수 있습니다:

위 링크를 통해 Docker 컨테이너의 로그 분석과 관련된 지식 및 경험을 참고하시면 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

이정호님의 프로필 이미지
이정호

작성한 질문수

질문하기