OGoogle Cloud mantém as seguintes imagens de base projetadas para uso com estações de trabalho do Cloud.
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 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 | Ambiente de desenvolvimento integrado 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 de 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çã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 persistente se conecta dinamicamente ao contêiner no momento da 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 das estações de trabalho do Cloud 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.