이 페이지에서는 컨테이너 포트, 진입점 명령어, 인수를 구성하는 방법을 설명합니다.
Cloud Run은 컨테이너를 시작할 때 이미지의 기본 진입점 명령어 및 기본 명령어 인수를 실행합니다. 이미지의 기본 진입점 및 명령어 인수를 재정의하려면 컨테이너 구성에서 command
및 args
필드를 사용하면 됩니다. command
필드는 컨테이너에서 실행하는 실제 명령어를 지정합니다. args
필드는 해당 명령어로 전달되는 인수를 지정합니다.
컨테이너 포트 구성
구성을 변경하면 새 버전이 생성됩니다. 이를 변경하는 명시적 업데이트가 없으면 이후 버전에도 이 구성 설정이 자동으로 적용됩니다.
컨테이너는 하드코딩된 특정 포트가 아닌 PORT
환경 변수에서 정의된 포트를 리슨해야 합니다.
하지만 이렇게 할 수 없는 경우 컨테이너로 전송되는 포트 요청을 구성할 수 있습니다.
Console
배포할 새 서비스를 구성하려면 서비스 만들기를 클릭합니다. 기존 서비스를 구성하는 경우 서비스를 클릭한 다음 새 버전 수정 및 배포를 클릭합니다.
고급 설정에서 컨테이너를 클릭합니다.
기본값이 '8080'이 아닌 경우 요청을 전송할 포트를 지정합니다. 이렇게 하면 'PORT' 환경 변수도 설정됩니다.
만들기 또는 배포를 클릭합니다.
명령줄
다음 명령어를 사용하여 서비스의 포트 구성을 업데이트할 수 있습니다.
gcloud run services update SERVICE --port PORT
다음과 같이 바꿉니다.
- SERVICE을 서비스 이름으로 바꿉니다.
- PORT를 요청을 전송할 포트로 바꿉니다. 기본 포트는
8080
입니다.
배포 중에 다음 명령어를 사용하여 포트를 구성할 수도 있습니다.
gcloud run deploy --image IMAGE_URL --port PORT
IMAGE_URL
을 컨테이너 이미지에 대한 참조(예: gcr.io/myproject/my-image:latest
)로 바꿉니다.
YAML
YAML 형식으로 정리된 결과를 반환하는 gcloud run services describe --format export
명령어를 사용하면 기존 서비스 구성을 다운로드하고 볼 수 있습니다. 그런 다음 아래 설명된 필드를 수정하고 gcloud beta run services replace
명령어를 사용하여 수정된 YAML을 업로드할 수 있습니다.
설명된 대로 필드만 수정해야 합니다.
구성을 보고 다운로드하려면 다음을 실행합니다.
gcloud run services describe SERVICE --format export > service.yaml
containerPort:
속성을 업데이트합니다.spec: containers: - image: IMAGE_URL ports: - containerPort: PORT
다음과 같이 바꿉니다.
IMAGE_URL
을 컨테이너 이미지에 대한 참조(예:gcr.io/myproject/my-image:latest
)로 바꿉니다.- PORT를 요청을 전송할 포트로 바꿉니다.
다음 명령어를 사용하여 서비스를 새 구성으로 바꿉니다.
gcloud beta run services replace service.yaml
컨테이너 진입점 명령어 및 인수 구성
구성을 변경하면 새 버전이 생성됩니다. 이를 변경하는 명시적 업데이트가 없으면 이후 버전에도 이 구성 설정이 자동으로 적용됩니다.
새 서비스를 만들거나 새 버전을 배포할 때 Cloud Console, gcloud 명령줄 또는 .yaml 파일을 사용하여 진입점 명령어 및 인수를 설정할 수 있습니다.
Console
배포할 새 서비스를 구성하려면 서비스 만들기를 클릭합니다. 기존 서비스를 구성하는 경우 서비스를 클릭한 다음 새 버전 수정 및 배포를 클릭합니다.
고급 설정에서 컨테이너를 클릭합니다.
컨테이너에 정의된 명령어가 아닌 경우 컨테이너를 실행할 명령어를 지정하고, 원할 경우 진입점 명령어에 대한 인수를 지정합니다.
만들기 또는 배포를 클릭합니다.
명령줄
다음 명령어를 사용하여 지정된 서비스의 시작 명령어 및 인수를 업데이트할 수 있습니다.
gcloud run services update SERVICE --command COMMAND --args ARG1,ARG-N
다음과 같이 바꿉니다.
- 기본 명령어를 사용하지 않는 경우 COMMAND를 컨테이너가 시작되는 명령어로 바꿉니다.
- ARG1을 컨테이너 명령어로 전송 중인 인수로 바꾸고, 두 개 이상의 인수에는 쉼표로 구분된 목록을 사용합니다.
배포 중에 다음 명령어를 사용하여 진입점 및 인수를 지정할 수도 있습니다.
gcloud run deploy --image IMAGE_URL --command COMMAND --args ARG1,ARG-N
IMAGE_URL
을 컨테이너 이미지에 대한 참조(예: gcr.io/myproject/my-image:latest
)로 바꿉니다.
인수에 등호를 사용하는 경우 다음 형식을 사용합니다.
gcloud run deploy \
--args "--repo-allowlist=github.com/example/example_demo" \
--args "--gh-webhook-secret=XX" \
인수에 쉼표를 사용하는 경우 쉼표 이스케이프 처리에 대한 자세한 내용은 환경 변수 구성을 참조하세요.
YAML
YAML 형식으로 정리된 결과를 반환하는 gcloud run services describe --format export
명령어를 사용하면 기존 서비스 구성을 다운로드하고 볼 수 있습니다. 그런 다음 아래 설명된 필드를 수정하고 gcloud beta run services replace
명령어를 사용하여 수정된 YAML을 업로드할 수 있습니다.
설명된 대로 필드만 수정해야 합니다.
구성을 보고 다운로드하려면 다음을 실행합니다.
gcloud run services describe SERVICE --format export > service.yaml
command
속성과args
속성을 업데이트합니다.spec: containers: - image: IMAGE_URL command: - COMMAND args: - "ARG1" - "ARG-N"
다음과 같이 바꿉니다.
IMAGE_URL
을 컨테이너 이미지에 대한 참조(예:gcr.io/myproject/my-image:latest
)로 바꿉니다.- 기본 명령어를 사용하지 않는 경우 COMMAND를 컨테이너가 시작되는 명령어로 바꿉니다.
- ARG1을 컨테이너 명령어로 전송 중인 인수로 바꾸고, 두 개 이상의 인수에는 쉼표로 구분된 목록을 사용합니다.
다음 명령어를 사용하여 서비스를 새 구성으로 바꿉니다.
gcloud beta run services replace service.yaml
컨테이너 설정 보기
서비스의 현재 컨테이너 설정을 보려면 다음 안내를 따르세요.
Console
관심이 있는 서비스를 클릭하여 서비스 세부정보 페이지를 엽니다.
버전 탭을 클릭합니다.
오른쪽의 세부정보 패널에서 컨테이너 설정이 컨테이너 탭에 표시됩니다.
명령줄
다음 명령어를 사용하세요.
gcloud run services describe SERVICE
반환된 구성에서 컨테이너 설정을 찾습니다.