개발자 / Docker
docker run을 Docker Compose로 변환하는 도구
docker run 명령을 포트, 볼륨, 환경 변수, 네트워크, 재시작 정책, 헬스 체크, GPU 등이 포함된 compose.yaml 파일로 변환하거나, Compose 서비스를 docker run 명령으로 되돌립니다. 변환할 수 없는 옵션도 표시합니다.
docker run을 Docker Compose로 변환하는 도구: 명령을 셸과 같은 방식으로 따옴표와 이스케이프를 처리해 분할한 다음, 각 옵션을 Compose 키에 매핑합니다. -p는 ports로, -v와 --mount는 volumes로, -e는 environment로, --restart는 재시작 설정으로, --network는 네트워크로, --health-cmd는 healthcheck로, --gpus는 장치 예약으로 변환하며 그 밖에도 약 40가지 옵션을 지원합니다. 이름이 지정된 볼륨과 네트워크에는 최상위 항목이 추가됩니다. 여러 명령을 입력하면 하나의 파일에 여러 서비스가 생성됩니다. Compose에 대응하는 항목이 없는 옵션은 누락시키지 않고 목록으로 표시합니다. 서버에 파일을 전혀 업로드하지 않고 브라우저에서 100% 로컬로 실행됩니다.
- 카테고리
- 개발자 도구
- 실행 횟수
- 브라우저에서
- 비용
- 무료 · 가입 불필요
- 사용 가능 여부
- 사용 가능
브라우저에서 전부 실행됩니다
compose.yaml
services:
db:
image: postgres:16
container_name: db
environment:
- POSTGRES_PASSWORD=change-me
volumes:
- pgdata:/var/lib/postgresql/data
ports:
- 5432:5432
restart: unless-stopped
volumes:
pgdata:
변환 후
docker compose config를 실행하여 파일을 확인하고 기본값이 채워진 내용을 본 다음, docker compose up -d를 실행하여 시작하십시오. 재시작할 때 데이터베이스가 예기치 않게 업그레이드되지 않도록 latest 대신 postgres:16과 같이 이미지 버전을 고정하십시오.
파일을 다른 형식으로 읽으려면 YAML to JSON으로 변환하십시오. 컨테이너에서 예약 작업을 실행하려면 cron 설명서에서 cron 표현식을 확인할 수 있습니다.
볼륨과 데이터
pgdata와 같은 이름이 지정된 볼륨은 Docker가 관리하며 docker compose down을 실행해도 유지됩니다. ./data와 같은 경로는 호스트의 폴더입니다. 삭제하는 docker compose down -v를 실행하기 전에 이름이 지정된 볼륨을 백업하십시오.
사용 방법
- 하나 이상의 docker run 명령을 붙여넣습니다. 백슬래시를 사용한 줄 연속도 지원합니다.
- compose.yaml과 변환할 수 없었던 옵션을 확인합니다.
- 복사하거나 다운로드합니다. 또는 방향을 전환하여 Compose 파일을 docker run 명령으로 변환합니다.
개인정보 보호 및 제한사항
모든 작업은 브라우저에서 실행됩니다. 비밀번호가 포함되어 있을 수 있는 명령은 업로드하지 않습니다.
관련 도구
자주 묻는 질문
docker run 대신 Compose를 사용하는 이유는 무엇인가요?
Compose 파일은 전체 설정을 한곳에 기록하므로 읽고 버전을 관리할 수 있으며, 셸 기록에 저장된 긴 명령 대신 docker compose up으로 시작할 수 있습니다. 네트워크와 볼륨을 포함한 여러 컨테이너를 함께 시작할 수도 있습니다.
--rm과 -d는 어떻게 처리되나요?
Compose에는 --rm에 해당하는 옵션이 없으므로 컨테이너는 docker compose down으로 삭제합니다. -d는 docker compose up -d를 실행할 때 선택하므로 파일에는 포함되지 않습니다.
네트워크가 external로 표시되는 이유는 무엇인가요?
docker run --network는 이미 존재하는 네트워크를 사용하므로, 변환된 파일도 같은 방식으로 해당 네트워크를 참조합니다. Compose가 네트워크를 직접 생성하게 하려면 external: true를 삭제하십시오.
비밀번호를 파일에 보관해도 되나요?
비밀번호와 키는 버전 관리에서 제외한 env_file이나 Docker secrets를 사용하는 것이 좋습니다. 변환기는 명령에 있던 내용을 그대로 유지하므로, 파일을 커밋하기 전에 environment 섹션을 검토하십시오.
무료 도구 · 브라우저에서회 실행 · 계정 불필요