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çosshd
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:
- Ao criar a configuração da estação de trabalho, conclua a configuração das informações básicas e da máquina.
- 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.
- Clique em addAdicionar variável.
- Insira
CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO
etrue
como o valor.
A seguir
- Personalize as imagens de contêiner.
- Automatize as recriações de imagens de contêiner para sincronizar atualizações da imagem de base usando o Cloud Build e o Cloud Scheduler.
- Configurar práticas recomendadas de segurança