Docker Run → Compose

docker run 명령어를 docker-compose.yml로 즉시 변환. 포트, 볼륨, 환경변수, 네트워크, 재시작 정책 등 지원.

100% 클라이언트 사이드 데이터가 브라우저 밖으로 나가지 않습니다 무료 · 회원가입 불필요
docker run 명령어
docker-compose.yml

사용 방법

  1. 왼쪽 패널에 docker run 명령어를 붙여넣습니다 (또는 예시 클릭).
  2. 변환을 클릭합니다.
  3. 오른쪽 패널에서 생성된 docker-compose.yml을 확인합니다.
  4. 복사를 클릭하여 docker-compose.yml로 저장합니다.

지원 플래그

  • —name NAME — 서비스 이름
  • -p / —publish HOST:CONTAINER — 포트 매핑
  • -v / —volume HOST:CONTAINER[:mode] — 볼륨 마운트
  • -e / —env KEY=VALUE — 환경변수
  • —network NETWORK — 네트워크
  • —restart POLICY — 재시작 정책 (no, always, unless-stopped, on-failure)
  • —cap-add CAP — 리눅스 권한 추가
  • —memory MEM — 메모리 제한 (예: 512m, 1g)
  • —cpus N — CPU 제한

주요 사용 사례

  • 마이그레이션: 일회성 docker run 명령어를 재현 가능한 compose 구성으로 변환.
  • 문서화: README의 run 명령어를 팀용 compose 형식으로 변환.
  • 멀티 서비스: 각 서비스 블록을 생성하여 하나의 compose 파일로 통합.
  • CI/CD: docker run 쉘 스크립트를 선언적 compose 파일로 대체.

FAQ

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

--name, -p/--publish(포트), -v/--volume(볼륨), -e/--env(환경변수), --network, --restart, -d(백그라운드), --cap-add, --memory, --cpus, 이미지 이름과 명령어를 지원합니다.

생성되는 Compose 파일 버전은?

version 3.8 형식의 docker-compose.yml을 생성합니다. 기존 docker-compose CLI와 새로운 docker compose 플러그인 모두와 호환됩니다.

서비스 이름은 어떻게 결정되나요?

--name을 지정하면 해당 값이 서비스 이름이 됩니다. 그렇지 않으면 이미지 이름에서 레지스트리 접두사와 태그를 제거하고 슬래시를 언더스코어로 바꾼 이름을 사용합니다.

여러 줄 docker run 명령어도 지원하나요?

네. 백슬래시로 줄을 연속한 명령어를 붙여넣으면 올바르게 처리됩니다.

지원하지 않는 플래그는 어떻게 되나요?

지원하지 않는 플래그는 자동으로 무시됩니다. --security-opt나 --device 같은 고급 옵션은 생성된 compose 파일에 수동으로 추가해야 합니다.