Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Esta página oferece uma vista geral do sistema de ficheiros do SO otimizado para contentores
e descreve como montar e formatar discos.
Sistema de ficheiros
O esquema do sistema de ficheiros da imagem do nó do SO otimizado para contentores está otimizado para melhorar a segurança do nó. O espaço do disco de arranque está dividido em três tipos de partições:
Partição raiz, que é montada como só de leitura.
Partições com monitorização de estado, que são graváveis e com monitorização de estado.
Partições sem estado, que são graváveis, mas o conteúdo não persiste após o reinício.
Quando usar o SO otimizado para contentores, tenha em atenção a partição se executar os seus próprios serviços que tenham determinadas expetativas sobre a disposição do sistema de ficheiros fora dos contentores.
O sistema de ficheiros raiz está montado como só de leitura para proteger a integridade do sistema.
No entanto, os diretórios iniciais e /mnt/stateful_partition são persistentes e
graváveis.
Trabalhar com o sistema de ficheiros do SO otimizado para contentores
Segue-se uma lista de caminhos no sistema de ficheiros de imagem do nó do SO otimizado para contentores, juntamente com as respetivas propriedades e utilização recomendada:
Caminho
Propriedades
Finalidade
/
só de leitura
executável
O sistema de ficheiros raiz está montado como só de leitura para manter a integridade. O kernel verifica o sistema de ficheiros raiz de integridade durante o arranque e recusa-se a arrancar em caso de erros.
/home
/var
gravável
não executável
com estado
Estes caminhos destinam-se ao armazenamento de dados que persistem durante a duração total do disco de arranque. Estão montadas a partir de /mnt/stateful_partition.
/var/lib/google
/var/lib/docker
/var/lib/toolbox
gravável
executável
com estado
Estes caminhos são diretórios de trabalho para pacotes do Compute Engine (por exemplo, o serviço de gestão de contas), o Docker e a caixa de ferramentas, respetivamente.
/var/lib/cloud
gravável
executável
sem estado
tmpfs
Este caminho é o diretório de trabalho do pacote cloud-init.
/etc
gravável
executável
sem estado
tmpfs
Normalmente, contém a sua configuração (por exemplo, os serviços definidos através de cloud-init).
É recomendável capturar o estado pretendido das suas instâncias em
cloud-init, uma vez que cloud-init é aplicado quando uma instância é criada recentemente, bem como quando uma instância é reiniciada.systemd
/tmp
gravável
não executável
sem estado
tmpfs
Normalmente, é usado como um espaço temporário e não deve ser usado para armazenar dados persistentes.
/mnt/disks
gravável
executável
sem estado
tmpfs
Pode montar discos persistentes em diretórios em /mnt/disks.
Os discos podem ser montados criando um subdiretório no diretório /mnt/disks. Uma vez que /etc/ não tem estado no SO otimizado para contentores, não pode usar /etc/fstab para executar automaticamente o fsck (verificação de consistência do sistema de ficheiros) e montar os discos no arranque. No entanto, pode conseguir o mesmo fazendo essas operações na secção bootcmd do cloud-config.
O exemplo seguinte monta o disco DEVICE_ID
no diretório /mnt/disks.
Crie um ficheiro de script com o seguinte conteúdo:
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-21 UTC."],[[["\u003cp\u003eContainer-Optimized OS uses a file system layout with read-only root, stateful, and stateless partitions to enhance node security.\u003c/p\u003e\n"],["\u003cp\u003eThe root file system is read-only to protect system integrity, but home directories and \u003ccode\u003e/mnt/stateful_partition\u003c/code\u003e are writable and persistent.\u003c/p\u003e\n"],["\u003cp\u003eSpecific paths like \u003ccode\u003e/var/lib/google\u003c/code\u003e, \u003ccode\u003e/var/lib/docker\u003c/code\u003e, and \u003ccode\u003e/var/lib/toolbox\u003c/code\u003e are designated for working directories of certain services, and are stateful.\u003c/p\u003e\n"],["\u003cp\u003ePersistent disks can be attached and mounted under \u003ccode\u003e/mnt/disks\u003c/code\u003e using \u003ccode\u003ecloud-config\u003c/code\u003e scripts, as the \u003ccode\u003e/etc/fstab\u003c/code\u003e method is not available due to the stateless nature of \u003ccode\u003e/etc/\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eYou can use \u003ccode\u003ecloud-init\u003c/code\u003e to handle configuration and mounting of disks on Container-Optimized OS instances, ensuring that configurations are applied on creation and restarts.\u003c/p\u003e\n"]]],[],null,["# Disks and file system overview\n\nThis page provides an overview of the Container-Optimized OS file system\nand describes how to mount and format disks.\n\nFile system\n-----------\n\nThe Container-Optimized OS node image file system layout is optimized to\nenhance node security. The boot disk space is split into three types of\npartitions:\n\n- **Root partition**, which is mounted as read-only.\n- **Stateful partitions**, which are writable and stateful.\n- **Stateless partitions**, which are writable but the contents do not persist across reboots.\n\nWhen using Container-Optimized OS, be aware of the partitioning if you run\nyour own services that have certain expectations about the file system layout\noutside of containers.\n\nThe root file system is mounted as read-only to protect system integrity.\nHowever, home directories and `/mnt/stateful_partition` are persistent and\nwritable.\n\n### Working with the Container-Optimized OS file system\n\n\nThe following is a list of paths in the Container-Optimized OS node image file\nsystem, along with their properties and recommended usage:\n\nMounting and formatting disks\n-----------------------------\n\nYou can attach a persistent disk or create an instance with Local SSDs when using\nContainer-Optimized OS. Follow the instructions on [Formatting and mounting\na persistent disk](/compute/docs/disks/format-mount-disk-linux#format_linux) or\n[Format and mount a local SSD device](/compute/docs/disks/add-local-ssd#formatandmount)\nfor the appropriate use-case.\n\nThe disks can be mounted by creating a subdirectory under `/mnt/disks`\ndirectory. Since `/etc/` is stateless on Container-Optimized OS, you\ncannot use `/etc/fstab` to automatically fsck (file system consistency check)\nand mount the disks on boot. But you can achieve the same by doing those\noperations from the `bootcmd` section in your\n[`cloud-config`](http://cloudinit.readthedocs.io/en/latest/topics/examples.html).\n\nThe following example mounts the disk \u003cvar translate=\"no\"\u003eDEVICE_ID\u003c/var\u003e\nunder the `/mnt/disks` directory.\n\n1. Create a script file using the following contents:\n\n #cloud-config\n\n bootcmd:\n - fsck.ext4 -tvy /dev/\u003cvar translate=\"no\"\u003eDEVICE_ID\u003c/var\u003e\n - mkdir -p /mnt/disks/\u003cvar translate=\"no\"\u003eMNT_DIR\u003c/var\u003e\n - mount -t ext4 -o ... /dev/\u003cvar translate=\"no\"\u003eDEVICE_ID\u003c/var\u003e /mnt/disks/\u003cvar translate=\"no\"\u003eMNT_DIR\u003c/var\u003e\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eDEVICE_ID\u003c/var\u003e: the device ID of the disk that you want to format and mount.\n - \u003cvar translate=\"no\"\u003eMNT_DIR\u003c/var\u003e: the directory in which to mount your disk.\n\n Refer to the Linux documentation for a full set of options\n supported by the [`fsck.ext4`](http://man7.org/linux/man-pages/man8/e2fsck.8.html)\n and [`mount`](http://man7.org/linux/man-pages/man8/mount.8.html) commands.\n2. Update the VM metadata to include the script file by using the\n `--metadata-from-file` flag.\n\n To create a VM, use the following command: \n\n gcloud compute instances create \u003cvar translate=\"no\"\u003eINSTANCE_NAME\u003c/var\u003e \\\n --metadata-from-file user-data=\u003cvar translate=\"no\"\u003eSCRIPT_FILE_NAME\u003c/var\u003e\n\n To update an existing instance, use the following command: \n\n gcloud compute instances add-metadata \u003cvar translate=\"no\"\u003eINSTANCE_NAME\u003c/var\u003e \\\n --metadata-from-file user-data=\u003cvar translate=\"no\"\u003eSCRIPT_FILE_NAME\u003c/var\u003e\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eINSTANCE_NAME\u003c/var\u003e: the name of your VM instance.\n - \u003cvar translate=\"no\"\u003eSCRIPT_FILE_NAME\u003c/var\u003e: the name of the metadata script file."]]