Imagens de base pré-configuradas

O Google Cloud mantém as imagens de base a seguir projetadas para uso com o Cloud Workstations.

Lista de imagens de base pré-configuradas

É possível usar essas imagens diretamente nas configurações da estação de trabalho ou como base na criação de imagens de contêiner personalizadas com o comando FROM do Docker.

Imagem Descrição
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest Editor base do Cloud Workstations, Code OSS para Cloud Workstations, com base no Code-OSS. (Padrão)
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/base:latest Imagem de base sem ambiente de desenvolvimento integrado instalado.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/clion:latest ambiente de desenvolvimento integrado do CLion. Acessível apenas pelo JetBrains Gateway.
Para informações de instalação e primeiros passos, consulte Desenvolver código usando ambientes de desenvolvimento integrado locais do JetBrains.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/goland:latest IDE do GoLand. Acessível apenas pelo JetBrains Gateway.
Para informações de instalação e primeiros passos, consulte Desenvolver código usando ambientes de desenvolvimento integrado locais do JetBrains.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/intellij-ultimate:latest ambiente de desenvolvimento integrado IntelliJ IDEA Ultimate. Acessível apenas pelo JetBrains Gateway.
Para informações de instalação e primeiros passos, consulte Desenvolver código usando ambientes de desenvolvimento integrado locais do JetBrains.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/phpstorm:latest IDE do PhpStorm. Acessível apenas pelo JetBrains Gateway.
Para informações de instalação e primeiros passos, consulte Desenvolver código usando ambientes de desenvolvimento integrado locais do JetBrains.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/pycharm:latest IDE profissional do PyCharm. Acessível apenas pelo JetBrains Gateway.
Para informações de instalação e primeiros passos, consulte Desenvolver código usando ambientes de desenvolvimento integrado locais do JetBrains.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/rider:latest ambiente de desenvolvimento integrado do Rider. Acessível apenas pelo JetBrains Gateway.
Para informações de instalação e primeiros passos, consulte Desenvolver código usando ambientes de desenvolvimento integrado locais do JetBrains.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/rubymine:latest ambiente de desenvolvimento integrado do RubyMine. Acessível apenas pelo JetBrains Gateway.
Para informações de instalação e primeiros passos, consulte Desenvolver código usando ambientes de desenvolvimento integrado locais do JetBrains.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/webstorm:latest IDE do WebStorm. Acessível apenas pelo JetBrains Gateway.
Para informações de instalação e primeiros passos, consulte Desenvolver código usando ambientes de desenvolvimento integrado locais do JetBrains.

Lista de imagens de base de terceiros

Imagem de terceiros Fornecedor terceirizado
us-central1-docker.pkg.dev/posit-images/cloud-workstations/workbench:latest Posit Workbench (incluindo RStudio Pro)

Se você encontrar problemas com o ambiente de desenvolvimento integrado do Posit Workbench ou com a imagem do contêiner, informe o Posit no GitHub (em inglês).

Estrutura de imagem base do Cloud Workstations

As imagens de base do Cloud Workstations compartilham a seguinte estrutura definida:

  • O arquivo de ponto de entrada da imagem de base está definido como /google/scripts/entrypoint.sh.
  • Na inicialização, as imagens de base executam arquivos em /etc/workstation-startup.d/* em ordem lexicográfica para inicializar o ambiente da estação de trabalho.

    Os arquivos e o comportamento deles são os seguintes:

    • 000_configure-docker.sh: configura e executa o Docker dentro da estação de trabalho.
    • 010_add-user.sh: cria o usuário padrão no Cloud Workstations.

      Como o disco permanente é anexado dinamicamente ao contêiner, os usuários precisam ser adicionados na inicialização da estação de trabalho, não no Dockerfile.

    • 020_start-sshd.sh: inicia o serviço sshd no contêiner.

    • 110_start-$IDE.sh: inicia o ambiente de desenvolvimento integrado da imagem.

  • O Cloud Workstations armazena imagens do Docker no diretório principal em /home/.docker_data para que elas sejam preservadas entre as sessões.

Para adicionar outras funcionalidades durante a inicialização da estação de trabalho, adicione seus scripts ao diretório /etc/workstation-startup.d/:

  • Os scripts neste diretório são executados como raiz por padrão. Para executar os scripts como um usuário diferente, use o comando runuser.

  • Como os scripts são executados em ordem lexicográfica, recomendamos que você prefixe os scripts com um número de três dígitos maior que 200.

Modificações no diretório principal

Quando a configuração da estação de trabalho especifica um diretório principal permanente (que é o comportamento padrão), um disco permanente que apoia o diretório principal é anexado dinamicamente ao contêiner no ambiente de execução. Esse processo substitui as modificações feitas no diretório /home no tempo de criação da imagem do contêiner.

Para preservar as atualizações, modifique o diretório /home no ambiente de execução do contêiner adicionando um script no diretório /etc/workstation-startup.d ou adicionando uma configuração por usuário no diretório /etc/profile.d. Para acelerar o processo, execute o script de configuração como um processo em segundo plano (adicione um "e" comercial, &, no final do comando) para evitar o bloqueio da inicialização do contêiner.

Alguns exemplos de configuração do tempo de compilação que precisam ser movidos para o ambiente de execução do contêiner:

  • Configuração de git por usuário
  • git repositórios clonados no diretório principal
  • A configuração direta do usuário, como colocar arquivos em um diretório $HOME/.config
  • Criação de usuário

Criação e modificação de usuários

Como o disco permanente se anexa dinamicamente ao contêiner no ambiente de execução, os usuários precisam ser adicionados na inicialização da estação de trabalho, não no Dockerfile. Para modificar ou criar outros usuários, recomendamos que você atualize /etc/workstation-startup.d/010_add-user.sh ou crie seu próprio script para execução na inicialização.

Além disso, é possível modificar o perfil bash padrão para os usuários atualizando os arquivos em /etc/profile.d.

Atualizar chaves APT seguras pré-configuradas

As imagens de base do Cloud Workstations vêm pré-instaladas com várias ferramentas recebidas de vários repositórios de terceiros usando o Secure APT. Como parte do processo de instalação, as chaves públicas fornecidas pelos proprietários do repositório são importadas usando gpg e colocadas em arquivos individuais em /usr/share/keyrings/. Esses arquivos são referenciados nos arquivos list correspondentes em /etc/apt/sources.list.d/. Isso permite que apt verifique a integridade de um determinado repositório ao interagir com ele.

Às vezes, proprietários de repositórios de terceiros podem decidir alterar a chave pública usada para validar a integridade do repositório, o que faz com que apt exiba um erro ao interagir com ele. Para resolver esse possível problema, use /google/scripts/refresh-preinstalled-apt-keys.sh, que recebe as versões mais recentes das chaves públicas pré-instaladas e as importa novamente.

Listar versões instaladas do ambiente de desenvolvimento integrado

Várias imagens de base do Cloud Workstations vêm pré-instaladas com um ambiente de desenvolvimento integrado. Por conveniência, consulte o script /google/scripts/preinstalled-ide-versions.sh, que lista as informações de nome e versão dos ambientes de desenvolvimento integrado instalados na imagem.

Desativar sudo privilégios raiz

O usuário da estação de trabalho padrão tem privilégios de acesso raiz sudo nesses contêineres. Para desativar o acesso raiz ao contêiner do Docker, defina a variável de ambiente CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO como true ao criar a configuração da estação de trabalho.

Para definir essa variável de ambiente por meio do console do Google Cloud ao criar a configuração da estação de trabalho, siga estas etapas:

  1. Ao criar a configuração da estação de trabalho, conclua a configuração das informações básicas e da máquina.
  2. Na caixa de diálogo Personalização do ambiente, expanda a seção Opções avançadas de contêiner e selecione Variáveis de ambiente.
  3. Clique em addAdicionar variável.
  4. Insira CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO e true como o valor.

A seguir