Docker Run → Compose 변환기 — docker run 명령을 docker-compose.yml로 (무료·업로드 없음)

docker run 명령을 동일한 docker-compose.yml로 변환 — -p·-v·-e·--name·--restart·--network·-w를 포트·볼륨·환경변수 등 compose 서비스 항목으로 매핑. 100% 브라우저 처리.

docker run 명령어를 붙여넣으면 동일한 docker-compose.yml을 만들어 줍니다. 서비스 이름은 직접 입력하기 전까지 이미지 이름을 따릅니다. 포트·볼륨·환경변수와 --name, --restart, --network, --workdir, 뒤따르는 command는 물론 --cap-add, --device, --dns, --entrypoint, --expose, --add-host, --health-cmd, --hostname, --label, --log-driver, --log-opt, --security-opt, --sysctl, --tmpfs, --ulimit, --user, -i/-t, --privileged, --read-only와 cpu·메모리 계열 등 50여 개 플래그를 함께 변환합니다. -d 등 실행 전용 플래그는 무시되고, 그 밖에 명령어에 있던 옵션은 조용히 버리지 않고 결과 아래에 적어 둡니다.

🔒 브라우저에서 변환되며 업로드되지 않습니다.

docker run 명령을 Compose 파일로

docker run … 명령을 붙여넣으면 동일한 docker-compose.yml 서비스를 만들어 줍니다. 게시 포트, 마운트 볼륨, 환경 변수, 컨테이너 이름, 재시작 정책, 네트워크, 작업 디렉터리, 뒤따르는 command가 각각의 Compose 키로 매핑되어, 일회성 docker run을 버전 관리되는 Compose 파일로 몇 초 만에 옮길 수 있습니다. 모든 처리는 브라우저에서 실행되며 명령은 기기를 벗어나지 않습니다.

변환되는 플래그

-p 8080:80-p=8080:80 두 표기를 모두 인식하며, -i·-t(-it)는 stdin_open: truetty: true가 되고, -d·--rm·-P는 그 한 번의 실행에만 해당하므로 제거됩니다.

사용법

명령을 붙여넣고 필요하면 서비스 이름을 바꾼 뒤(직접 입력하기 전까지는 이미지 이름을 따릅니다 — nginx:latestnginx), 생성된 YAML을 복사하거나 docker-compose.yml로 바로 내려받으세요. 출력은 구식 version: 키가 없는 최신 Compose 형식이라 docker compose up에서 바로 동작합니다.

왜 Compose로 옮기나

Compose 파일은 컨테이너가 어떻게 실행되어야 하는지 정확히 문서화하고, 포트·볼륨·환경 변수를 검토 가능한 한곳에 모아 두며, 길고 실수하기 쉬운 명령줄 대신 docker compose up -d 한 줄로 스택을 띄울 수 있게 해 줍니다.

설계상 프라이버시

변환은 전부 브라우저에서 JavaScript로 이뤄집니다 — 명령·환경 변수·경로는 업로드되지 않습니다. 그래서 가입이 없습니다.

자주 묻는 질문

어떤 docker run 플래그를 지원하나요?

포트(-p/--publish), 볼륨(-v/--volume), 환경 변수(-e/--env), --name, --restart, --network, -w/--workdir를 각각의 docker-compose 키로 매핑하고, 이미지와 뒤따르는 command도 함께 변환합니다. -i·-t는 stdin_open: true와 tty: true가 되고, -d·--rm·-P는 그 한 번의 실행에만 해당하므로 제거됩니다. 그 밖의 플래그(--log-opt·--sysctl·--cap-add 등)도 값을 가진 플래그로 읽어서 이미지 이름으로 오인되지 않게 하고, Compose 키가 없는 것은 결과 아래에 적어 줍니다.

-p 8080:80과 -p=8080:80을 모두 인식하나요?

네. 공백으로 구분한 형태와 등호를 붙인 형태, 그리고 긴 --publish / --publish= 형태를 모두 동일하게 처리합니다. -v, -e 등 값을 받는 다른 플래그도 마찬가지입니다.

-d, --rm, -i, -t는 어떻게 되나요?

-d(분리)와 --rm(정리)은 일회성 docker run에만 의미가 있어 제거됩니다. -i(대화형)와 -t(tty)는 서비스 설정이라 stdin_open: true와 tty: true가 됩니다. Compose에서는 docker compose up -d로 분리 실행을 제어합니다.

서비스 이름을 바꿀 수 있나요?

네. 직접 입력하기 전까지는 이미지 이름을 따르고(nginx:latest는 nginx, ghcr.io/org/my-app:1.2는 my-app), 이미지에서 쓸 만한 이름이 나오지 않거나 칸을 비우면 app을 씁니다. 원하는 이름을 입력하면 생성 파일이 services: <이름>: 아래에 매핑된 설정으로 만들어집니다.

출력에 version 키가 포함되나요?

아니요. 최신 Docker Compose는 최상위 version: 필드를 무시하므로 생성 파일은 이를 생략하고 곧바로 services:로 시작합니다.

제 명령이 어딘가로 업로드되나요?

아니요. 모든 변환은 브라우저에서 로컬로 실행됩니다. 명령·환경 변수·볼륨 경로는 기기를 벗어나지 않으며, 그래서 가입이 없습니다.