사전 구성된 기본 이미지

Google Cloud는 Cloud Workstations에 사용하도록 설계된 다음 기본 이미지를 관리합니다.

사전 구성된 기본 이미지 목록

이러한 이미지는 워크스테이션 구성에서 직접 사용하거나 Docker의 FROM 명령어로 커스텀 컨테이너 이미지를 만들 때 기본 이미지로 사용할 수 있습니다.

이미지 설명
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest Cloud Codestations 기본 편집기인 Code OSS for Cloud Workstation(Code-OSS 기반) (기본값)
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/base:latest IDE가 설치되지 않은 기본 이미지입니다.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/clion:latest CLion IDE입니다. JetBrains Gateway를 통해서만 액세스할 수 있습니다.
설치 및 시작하기 정보는 로컬 JetBrains IDE를 사용하여 코드 개발을 참조하세요.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/goland:latest GoLand IDE. JetBrains Gateway를 통해서만 액세스할 수 있습니다.
설치 및 시작하기 정보는 로컬 JetBrains IDE를 사용하여 코드 개발을 참조하세요.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/intellij-ultimate:latest IntelliJ IDEA Ultimate IDE. JetBrains Gateway를 통해서만 액세스할 수 있습니다.
설치 및 시작하기 정보는 로컬 JetBrains IDE를 사용하여 코드 개발을 참조하세요.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/phpstorm:latest PhpStorm IDE. JetBrains Gateway를 통해서만 액세스할 수 있습니다.
설치 및 시작하기 정보는 로컬 JetBrains IDE를 사용하여 코드 개발을 참조하세요.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/pycharm:latest PyCharm Professional IDE. JetBrains Gateway를 통해서만 액세스할 수 있습니다.
설치 및 시작하기 정보는 로컬 JetBrains IDE를 사용하여 코드 개발을 참조하세요.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/rider:latest Rider IDE. JetBrains Gateway를 통해서만 액세스할 수 있습니다.
설치 및 시작하기 정보는 로컬 JetBrains IDE를 사용하여 코드 개발을 참조하세요.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/rubymine:latest RubyMine IDE. JetBrains Gateway를 통해서만 액세스할 수 있습니다.
설치 및 시작하기 정보는 로컬 JetBrains IDE를 사용하여 코드 개발을 참조하세요.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/webstorm:latest WebStorm IDE. JetBrains Gateway를 통해서만 액세스할 수 있습니다.
설치 및 시작하기 정보는 로컬 JetBrains IDE를 사용하여 코드 개발을 참조하세요.

타사 기본 이미지 목록

서드 파티 이미지 서드 파티 제공업체
us-central1-docker.pkg.dev/posit-images/cloud-workstations/workbench:latest Posit Workbench(RStudio Pro 포함)

Posit Workbench IDE 또는 Posit Workbench 컨테이너 이미지에 문제가 발생하면 GitHub에서 Posit에 신고하세요.

Cloud Workstations 기본 이미지 구조

Cloud Workstations 기본 이미지는 다음과 같이 정의된 구조를 공유합니다.

  • 기본 이미지 진입점 파일은 /google/scripts/entrypoint.sh로 설정됩니다.
  • 시작 시 기본 이미지는 워크스테이션 환경을 초기화하기 위해 사전 순으로 /etc/workstation-startup.d/*에서 파일을 실행합니다.

    파일 및 해당 동작은 다음과 같습니다.

    • 000_configure-docker.sh: 워크스테이션 내에서 Docker를 구성하고 실행합니다.
    • 010_add-user.sh: Cloud Workstations에서 기본 사용자를 만듭니다.

      영구 디스크가 컨테이너에 동적으로 연결되기 때문에 Dockerfile이 아니라 워크스테이션 시작 시에 사용자를 추가해야 합니다.

    • 020_start-sshd.sh: 컨테이너에서 sshd 서비스를 시작합니다.

    • 110_start-$IDE.sh: 이미지에 대해 IDE를 시작합니다.

  • Cloud Workstations가 /home/.docker_data에서 홈 디렉터리에 Docker 이미지를 저장하므로, 이미지가 세션 간에 보존됩니다.

워크스테이션 시작 중 기능을 추가하려면 /etc/workstation-startup.d/ 디렉터리에 스크립트를 추가합니다.

  • 이 디렉터리의 스크립트는 기본적으로 루트로 실행됩니다. 스크립트를 다른 사용자로 실행하려면 runuser 명령어를 사용합니다.

  • 스크립트가 사전 순으로 실행되기 때문에 200보다 큰 세 자리 숫자를 스크립트에 접두사로 추가하는 것이 좋습니다.

홈 디렉터리 수정

워크스테이션 구성이 영구적인 홈 디렉터리(기본 동작)를 지정하면 홈 디렉터리를 지원하는 영구 디스크가 런타임 시 컨테이너에 동적으로 연결됩니다. 이 프로세스는 컨테이너 이미지 빌드 시간에 /home 디렉터리에 수정된 항목을 덮어씁니다.

업데이트를 보존하려면 /etc/workstation-startup.d 디렉터리에 스크립트를 추가하거나 /etc/profile.d 디렉터리에 사용자별 구성을 추가하여 컨테이너 런타임에 /home 디렉터리를 수정합니다. 프로세스 속도를 높이려면 컨테이너 시작을 차단하지 않도록 앰퍼샌드 &를 명령어 끝에 추가하여 설정 스크립트를 백그라운드 프로세스로 실행하는 것이 좋습니다.

일부 빌드 시간 구성 예시는 컨테이너 런타임으로 이동해야 합니다.

  • 사용자별 git 구성
  • 홈 디렉터리에서 클론된 git 저장소
  • $HOME/.config 디렉터리에 파일 배치와 같은 직접 사용자 구성
  • 사용자 생성

사용자 만들기 및 수정

영구 디스크가 런타임에 컨테이너에 동적으로 연결되기 때문에 Dockerfile이 아니라 워크스테이션 시작 시에 사용자를 추가해야 합니다. 추가 사용자를 수정하거나 만들려면 /etc/workstation-startup.d/010_add-user.sh를 업데이트하거나 시작 시 실행되는 자체 스크립트를 만드는 것이 좋습니다.

또한 /etc/profile.d에서 파일을 업데이트하여 사용자에 대해 기본 Bash 프로필을 수정할 수 있습니다.

사전 구성된 보안 APT 키 업데이트

Cloud Workstations 기본 이미지에는 보안 APT를 사용하여 다양한 타사 저장소에서 가져온 다양한 도구가 사전 설치되어 있습니다. 설치 프로세스 중에 gpg를 사용해서 저장소 소유자가 제공한 공개 키를 가져오고 /usr/share/keyrings/ 아래에 개별 파일로 배치합니다. 이러한 파일은 /etc/apt/sources.list.d/ 아래의 해당 list 파일에서 참조됩니다. 이를 통해 apt는 특정 저장소와 상호작용할 때 저장소의 무결성을 확인할 수 있습니다.

일부 경우에는 타사 저장소 소유자가 저장소 무결성 검증에 사용되는 공개 키를 변경하도록 결정할 수 있습니다. 그러면 키를 사용할 때 apt에서 오류가 표시됩니다. 이 잠재적 문제를 해결하기 위해서는 사전 설치된 공개 키의 최신 버전을 얻어서 이를 다시 가져오는 /google/scripts/refresh-preinstalled-apt-keys.sh를 사용할 수 있습니다.

설치된 IDE 버전 나열

여러 Cloud Workstations 기본 이미지가 IDE에 사전 설치되어 제공됩니다. 편의를 위해서는 이미지에 설치된 IDE의 이름 및 버전 정보를 나열하는, 포함된 /google/scripts/preinstalled-ide-versions.sh 스크립트를 참조하세요.

sudo 루트 권한 사용 중지

기본 워크스테이션 사용자는 이러한 컨테이너에서 sudo 루트 액세스 권한을 갖습니다. Docker 컨테이너에 대해 루트 액세스 권한을 사용 중지하려면 워크스테이션 구성을 만들 때 CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO 환경 변수를 true로 설정합니다.

워크스테이션 구성을 만들 때 Google Cloud 콘솔을 통해 이 환경 변수를 설정하려면 다음 단계를 수행합니다.

  1. 워크스테이션 구성을 만들 때 기본 정보 구성 및 머신 구성을 완료합니다.
  2. 환경 맞춤설정 대화상자에서 고급 컨테이너 옵션 섹션을 확장하고 환경 변수를 선택합니다.
  3. add변수 추가를 클릭합니다.
  4. CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDOtrue를 값으로 입력합니다.

다음 단계