Imagens de base reconfiguradas

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

Lista de imagens de base pré-configuradas

Essas imagens podem ser usadas diretamente em configurações de estação de trabalho ou como imagens de base ao criar 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 de 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 um ambiente de desenvolvimento integrado (IDE, na sigla em inglês) instalado.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/clion:latest CLion IDE. Acessível apenas pelo JetBrains Gateway.
Para informações sobre instalação e início, consulte Desenvolver códigos usando ambientes de desenvolvimento integrados locais do JetBrains.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/goland:latest IDE GoLand. Acessível apenas pelo JetBrains Gateway.
Para informações sobre instalação e início, consulte Desenvolver códigos usando ambientes de desenvolvimento integrados locais do JetBrains.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/intellij-ultimate:latest Ambiente de desenvolvimento integrado (IDE) IntelliJ IDEA Ultimate. Acessível apenas pelo JetBrains Gateway.
Para informações sobre instalação e início, consulte Desenvolver códigos usando ambientes de desenvolvimento integrados locais do JetBrains.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/phpstorm:latest Ambiente de desenvolvimento integrado PhpStorm. Acessível apenas pelo JetBrains Gateway.
Para informações sobre instalação e início, consulte Desenvolver códigos usando ambientes de desenvolvimento integrados locais do JetBrains.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/pycharm:latest Ambiente de desenvolvimento integrado PyCharm Professional. Acessível apenas pelo JetBrains Gateway.
Para informações sobre instalação e início, consulte Desenvolver códigos usando ambientes de desenvolvimento integrados 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 sobre instalação e início, consulte Desenvolver códigos usando ambientes de desenvolvimento integrados locais do JetBrains.
us-central1-docker.pkg.dev/cloud-workstations-images/predefined/rubymine:latest IDE RubyMine. Acessível apenas pelo JetBrains Gateway.
Para informações sobre instalação e início, consulte Desenvolver códigos usando ambientes de desenvolvimento integrados 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 sobre instalação e início, consulte Desenvolver códigos usando ambientes de desenvolvimento integrados locais do JetBrains.

Lista de imagens de base de terceiros

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

Se você tiver problemas com o ambiente de desenvolvimento integrado do Posit Workbench ou com a imagem do contêiner do Posit Workbench, informe o problema ao Posit no GitHub.

Estrutura da imagem de 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 é definido como /google/scripts/entrypoint.sh.
  • Na inicialização, as imagens de base executam arquivos em /etc/workstation-startup.d/* em ordem alfabética 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 na 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 para a imagem.

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

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

  • Os scripts nesse 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 alfabética, recomendamos que você adicione um prefixo 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 inicial permanente, que é o comportamento padrão, um disco permanente que faz backup do diretório inicial é anexado dinamicamente ao contêiner no momento da execução. Esse processo substitui as modificações feitas no diretório /home no momento da criação da imagem do contêiner.

Para preservar as atualizações, modifique o diretório /home no tempo de execução do contêiner adicionando um script no diretório /etc/workstation-startup.d ou adicionando a configuração por usuário no diretório /etc/profile.d. Para acelerar o processo, considere executar o script de configuração como um processo em segundo plano (adicione um símbolo &, &, ao final do comando) para evitar bloquear a inicialização do contêiner.

Alguns exemplos de configuração no momento de build que precisam ser movidos para o ambiente de execução do contêiner:

  • Configuração de git por usuário
  • Repositórios git clonados no diretório principal
  • Configurações diretas 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 é anexado dinamicamente ao contêiner no momento 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 atualizar /etc/workstation-startup.d/010_add-user.sh ou criar seu próprio script que será executado 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 dos Cloud Workstations vêm pré-instaladas com várias ferramentas obtidas de vários repositórios de terceiros usando o APT seguro. 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 a apt verifique a integridade de um determinado repositório ao interagir com ele.

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

Listar versões instaladas do ambiente de desenvolvimento integrado

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

Desativar privilégios de raiz do sudo

O usuário padrão da estação de trabalho 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 no 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 de informações básicas e a configuração da máquina.
  2. Na caixa de diálogo Personalização do ambiente, abra a seção Opções avançadas do contêiner e selecione Variáveis de ambiente.
  3. Clique em AdicionarAdicionar variável.
  4. Insira CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO e true como o valor.

A seguir