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çosshd
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:
- 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.
- 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.
- Clique em AdicionarAdicionar variável.
- Insira
CLOUD_WORKSTATIONS_CONFIG_DISABLE_SUDO
etrue
como o valor.
A seguir
- Personalize as imagens do contêiner.
- Automatize a recriação de imagens de contêiner para sincronizar atualizações de imagens de base usando o Cloud Build e o Cloud Scheduler.
- Configurar práticas recomendadas de segurança.