작업 경로 / 입력에서 결과까지
docker run 명령을 Compose로 변환하는 방법
- 01
docker run 명령 붙여넣기
Linux 컨테이너를 위한 POSIX 셸 리터럴 명령용입니다. 입력은 UTF-8 기준 최대 64 KiB이며 raw 환경 파일은 Compose 2.30+가 필요합니다. 출력은 설정 초안입니다. 셸, Docker 데몬 또는 이미지를 실행하거나 검사하지 않습니다. 단일 docker run 리터럴 명령을 사용하세요. 호스트 변수는 명시적인 값으로 바꾸고, 문자 $는 작은따옴표로 감싸거나 이스케이프하세요. 셸 확장, 파이프, 리디렉션, 명령 치환 및 이스케이프하지 않은 줄바꿈은 지원하지 않습니다. 역슬래시 줄 연결은 지원합니다.
- 02
Compose 서비스로 변환
이름, 포트, 명시적 환경 값, raw 환경 파일, 마운트, 재시작, 네트워크, 작업 디렉터리, 사용자, 진입점 및 레이블을 변환합니다. -i/-t(-it 포함)는 stdin_open/tty가 됩니다. 짧은 옵션은 붙인 값을, 긴 옵션은 =value를 지원합니다. 알 수 없는 옵션은 변환을 중단합니다.
- 03
생성된 YAML 확인
이미지 뒤의 인수는 순서와 빈 문자열을 보존해 command 목록에 들어갑니다. 값이 있는 entrypoint는 단일 인수로 유지하며 빈 값은 진입점을 지웁니다. 문자 달러 기호는 Compose 재치환을 막기 위해 두 번 씁니다. 기본 네트워크는 bridge로 명시합니다. 바인드는 -v(호스트 디렉터리 생성 가능)와 --mount(기존 경로 필요)를 구분합니다.
- 04
미지원 목록 검토
지원하지 않는 옵션이 있어 부분 YAML을 생성하지 않았습니다. 가이드에 나열된 옵션을 사용하고 컨테이너 명령 인수는 이미지 이름 뒤에 두세요. --rm은 YAML에 포함되지 않습니다. 적절한 Compose 실행 및 삭제 방식을 직접 선택하세요. -d/--detach는 시작 옵션입니다. 필요할 때 docker compose up -d를 사용하세요.
- 05
YAML 복사 또는 다운로드
env_file은 raw 형식(Compose 2.30+)으로 달러 기호와 따옴표를 보존합니다. 상대 경로는 compose.yaml 위치를 기준으로 합니다. 파일 내용과 미설정 변수는 검사하지 않으므로 실제 환경을 확인하세요. 이름 있는 볼륨과 사용자 지정 네트워크는 원래 이름으로 외부 참조합니다. 시작 전에 존재해야 하며 여기서는 리소스를 생성하거나 검사하지 않습니다.