Docker Run → Compose 변환기

docker run 명령을 docker-compose.yml 서비스로 변환해 포트·볼륨·환경변수·이름·재시작 정책·네트워크·작업 디렉터리를 매핑합니다.

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·메모리 계열 등 58개 플래그를 함께 변환합니다. -d 등 실행 전용 플래그는 무시되고, 그 밖에 명령어에 있던 옵션은 조용히 버리지 않고 결과 아래에 적어 둡니다.

결과 8줄, 125자

docker run 명령을 Compose 파일로

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

변환되는 플래그

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

사용법

명령을 붙여넣고 필요하면 서비스 이름을 바꾼 뒤(직접 입력하기 전까지는 이미지 이름을 따릅니다 — nginx:latest면 nginx), 생성된 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:로 시작합니다.