Acesso ao Terminal
Abra uma sessão de shell web em qualquer contêiner em execução diretamente do painel. Depure problemas, execute comandos pontuais e inspecione sua aplicação sem SSH.
Abrindo o Terminal Web
O terminal web fornece uma sessão de shell totalmente interativa dentro de qualquer contêiner em execução. Ele usa WebSockets para transmitir I/O do terminal diretamente ao seu navegador.
- Navegue até o serviço que deseja acessar.
- Clique na aba Terminal (ou no ícone de terminal no cabeçalho do serviço).
- Uma sessão de shell abre automaticamente usando o shell padrão do contêiner (
/bin/shou/bin/bashse disponível).
Selecionando um Contêiner
Se seu serviço tem múltiplas réplicas, o dropdown do terminal permite escolher a qual instância de contêiner se conectar. Cada réplica é listada com seu ID de contêiner e status.
Você também pode abrir terminais em contêineres de banco de dados. Isso é útil para executar consultas SQL diretas ou inspecionar o estado do banco de dados.
Executando Comandos
O terminal suporta todas as operações padrão de shell. Aqui estão alguns comandos comuns que você pode executar:
# View environment variables
env | sort
# Check disk usage
df -h
# View running processes
ps aux
# Check available memory
free -m# Check if the app is listening on the expected port
netstat -tlnp
# Test database connectivity
pg_isready -h mydb -p 5432
# View the application directory
ls -la /app
# Check Node.js version
node --version# View a log file
tail -f /app/logs/app.log
# Check configuration
cat /app/config.json
# Search for a string in source files
grep -r "ERROR" /app/logs/Atalhos do Terminal
O terminal web suporta atalhos de teclado padrão de terminal:
| Atalho | Ação |
|---|---|
| Ctrl + C | Cancelar o comando atual |
| Ctrl + D | Fechar a sessão do terminal |
| Ctrl + L | Limpar a tela |
| Tab | Auto-completar nomes de arquivo e comandos |
| Up / Down | Navegar histórico de comandos |
| Ctrl + A | Mover cursor para início da linha |
| Ctrl + E | Mover cursor para fim da linha |
Casos de Uso Comuns
Depuração
O terminal é a forma mais rápida de depurar problemas em um contêiner em execução. Você pode inspecionar logs, verificar conectividade de rede, verificar variáveis de ambiente e testar alterações de configuração sem reimplantar.
# Is the database reachable?
ping -c 3 mydb
# Can we connect to it?
psql -h mydb -U sh0 -d myapp -c "SELECT 1;"
# Is our app listening?
curl -v http://localhost:3000/healthAcesso Direto ao Banco de Dados
Abra um terminal no contêiner do banco de dados para executar consultas diretas usando o CLI do banco de dados.
# Inside the PostgreSQL container
psql -U sh0 -d myapp
# List tables
\dt
# Run a query
SELECT count(*) FROM users;Executando Migrações
Execute migrações de banco de dados manualmente quando precisar verificar cada etapa ou solucionar falhas de migração.
# Django
python manage.py migrate
# Rails
bundle exec rails db:migrate
# Laravel
php artisan migrate
# Prisma
npx prisma migrate deployLimitações e Segurança
Há algumas coisas a ter em mente ao usar o terminal web:
- Sessões efêmeras -- Sessões de terminal não são persistentes. Se a página for fechada ou atualizada, a sessão termina. Quaisquer processos em segundo plano iniciados no terminal continuarão rodando no contêiner.
- Alterações no sistema de arquivos do contêiner são temporárias -- A menos que você esteja editando arquivos em um volume montado, alterações no sistema de arquivos são perdidas quando o contêiner reinicia.
- Sem upload/download de arquivos -- Use o Gerenciador de Arquivos para transferir arquivos de e para contêineres.
- Autenticação necessária -- O acesso ao terminal requer uma sessão válida no painel. Apenas membros da equipe com a função apropriada podem acessar o terminal.