컨테이너 구성

이 페이지에서는 컨테이너 포트, 진입점 명령어, 인수를 구성하는 방법을 설명합니다.

Cloud Run은 컨테이너를 시작할 때 이미지의 기본 진입점 명령어 및 기본 명령어 인수를 실행합니다. 이미지의 기본 진입점 및 명령어 인수를 재정의하려면 컨테이너 구성에서 commandargs 필드를 사용하면 됩니다. command 필드는 컨테이너에서 실행하는 실제 명령어를 지정합니다. args 필드는 해당 명령어로 전달되는 인수를 지정합니다.

컨테이너 포트 구성

구성을 변경하면 새 버전이 생성됩니다. 이를 변경하는 명시적 업데이트가 없으면 이후 버전에도 이 구성 설정이 자동으로 적용됩니다.

컨테이너는 하드코딩된 특정 포트가 아닌 PORT 환경 변수에서 정의된 포트를 리슨해야 합니다. 하지만 이렇게 할 수 없는 경우 컨테이너로 전송되는 포트 요청을 구성할 수 있습니다.

Console

  1. Cloud Run으로 이동

  2. 배포할 새 서비스를 구성하려면 서비스 만들기를 클릭합니다. 기존 서비스를 구성하는 경우 서비스를 클릭한 다음 새 버전 수정 및 배포를 클릭합니다.

  3. 고급 설정에서 컨테이너를 클릭합니다.

    이미지

  4. 기본값이 '8080'이 아닌 경우 요청을 전송할 포트를 지정합니다. 이렇게 하면 'PORT' 환경 변수도 설정됩니다.

  5. 만들기 또는 배포를 클릭합니다.

명령줄

다음 명령어를 사용하여 서비스의 포트 구성을 업데이트할 수 있습니다.

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을 업로드할 수 있습니다. 설명된 대로 필드만 수정해야 합니다.

  1. 구성을 보고 다운로드하려면 다음을 실행합니다.

    gcloud run services describe SERVICE --format export > service.yaml
  2. containerPort: 속성을 업데이트합니다.

    spec:
      containers:
      - image: IMAGE_URL
        ports:
        - containerPort: PORT
    

    다음과 같이 바꿉니다.

    • IMAGE_URL을 컨테이너 이미지에 대한 참조(예: gcr.io/myproject/my-image:latest)로 바꿉니다.
    • PORT를 요청을 전송할 포트로 바꿉니다.
  3. 다음 명령어를 사용하여 서비스를 새 구성으로 바꿉니다.

    gcloud beta run services replace service.yaml

컨테이너 진입점 명령어 및 인수 구성

구성을 변경하면 새 버전이 생성됩니다. 이를 변경하는 명시적 업데이트가 없으면 이후 버전에도 이 구성 설정이 자동으로 적용됩니다.

새 서비스를 만들거나 새 버전을 배포할 때 Cloud Console, gcloud 명령줄 또는 .yaml 파일을 사용하여 진입점 명령어 및 인수를 설정할 수 있습니다.

Console

  1. Cloud Run으로 이동

  2. 배포할 새 서비스를 구성하려면 서비스 만들기를 클릭합니다. 기존 서비스를 구성하는 경우 서비스를 클릭한 다음 새 버전 수정 및 배포를 클릭합니다.

  3. 고급 설정에서 컨테이너를 클릭합니다.

    이미지

  4. 컨테이너에 정의된 명령어가 아닌 경우 컨테이너를 실행할 명령어를 지정하고, 원할 경우 진입점 명령어에 대한 인수를 지정합니다.

  5. 만들기 또는 배포를 클릭합니다.

명령줄

다음 명령어를 사용하여 지정된 서비스의 시작 명령어 및 인수를 업데이트할 수 있습니다.

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을 업로드할 수 있습니다. 설명된 대로 필드만 수정해야 합니다.

  1. 구성을 보고 다운로드하려면 다음을 실행합니다.

    gcloud run services describe SERVICE --format export > service.yaml
  2. command 속성과 args 속성을 업데이트합니다.

    spec:
      containers:
      - image: IMAGE_URL
        command:
        - COMMAND
        args:
          - "ARG1"
          - "ARG-N"
    

    다음과 같이 바꿉니다.

    • IMAGE_URL을 컨테이너 이미지에 대한 참조(예: gcr.io/myproject/my-image:latest)로 바꿉니다.
    • 기본 명령어를 사용하지 않는 경우 COMMAND를 컨테이너가 시작되는 명령어로 바꿉니다.
    • ARG1을 컨테이너 명령어로 전송 중인 인수로 바꾸고, 두 개 이상의 인수에는 쉼표로 구분된 목록을 사용합니다.
  3. 다음 명령어를 사용하여 서비스를 새 구성으로 바꿉니다.

    gcloud beta run services replace service.yaml

컨테이너 설정 보기

서비스의 현재 컨테이너 설정을 보려면 다음 안내를 따르세요.

Console

  1. Cloud Run으로 이동

  2. 관심이 있는 서비스를 클릭하여 서비스 세부정보 페이지를 엽니다.

  3. 버전 탭을 클릭합니다.

  4. 오른쪽의 세부정보 패널에서 컨테이너 설정이 컨테이너 탭에 표시됩니다.

명령줄

  1. 다음 명령어를 사용하세요.

    gcloud run services describe SERVICE
  2. 반환된 구성에서 컨테이너 설정을 찾습니다.