Docker Run → Compose
docker run 명령어를 docker-compose.yml로 즉시 변환. 포트, 볼륨, 환경변수, 네트워크, 재시작 정책 등 지원.
사용 방법
- 왼쪽 패널에 docker run 명령어를 붙여넣습니다 (또는 예시 클릭).
- 변환을 클릭합니다.
- 오른쪽 패널에서 생성된 docker-compose.yml을 확인합니다.
- 복사를 클릭하여
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 파일에 수동으로 추가해야 합니다.