Documentación offline pnpm main

Working with Podman

main Documentación oficial Licencia MITDescargado el 2026-08-02

En esta página

Sharing Files Between a Container and the Host Btrfs Filesystem#

:::note

This method only works on copy-on-write filesystems supported by Podman, such as Btrfs. For other filesystems, like Ext4, pnpm will copy the files instead.

:::

Podman support copy-on-write filesystems like Btrfs. With Btrfs, container runtimes create actual Btrfs subvolumes for their mounted volumes. pnpm can leverage this behavior to reflink the files between different mounted volumes.

To share files between the host and the container, mount the store directory and the node_modules directory from the host to the container. This allows pnpm inside the container to naturally reuse the files from the host as reflinks.

:::important

Only mount a host pnpm store into containers you trust. A container with write access to the mounted store can affect later installs that reuse that store.

:::

Below is an example container setup for demonstration:

```dockerfile title="Dockerfile" FROM node:20-slim

corepack is an experimental feature in Node.js v20 which allows#

installing and managing versions of pnpm, npm, yarn#

RUN corepack enable

VOLUME [ "/pnpm-store", "/app/node_modules" ] RUN pnpm config --global set store-dir /pnpm-store

You may need to copy more files than just package.json in your code#

COPY package.json /app/package.json

WORKDIR /app RUN pnpm install RUN pnpm run build

Run the following command to build the podman image:

```sh
podman build . --tag my-podman-image:latest -v "$HOME/.local/share/pnpm/store:/pnpm-store" -v "$(pwd)/node_modules:/app/node_modules"