github.com/containerd/nerdctl@v1.7.7/docs/command-reference.md (about) 1 # Command reference 2 3 :whale: = Docker compatible 4 5 :nerd_face: = nerdctl specific 6 7 :blue_square: = Windows enabled 8 9 Unlisted `docker` CLI flags are unimplemented yet in `nerdctl` CLI. 10 It does not necessarily mean that the corresponding features are missing in containerd. 11 12 <!-- START doctoc generated TOC please keep comment here to allow auto update --> 13 <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> 14 15 - [Container management](#container-management) 16 - [:whale: :blue_square: nerdctl run](#whale-blue_square-nerdctl-run) 17 - [:whale: :blue_square: nerdctl exec](#whale-blue_square-nerdctl-exec) 18 - [:whale: :blue_square: nerdctl create](#whale-blue_square-nerdctl-create) 19 - [:whale: nerdctl cp](#whale-nerdctl-cp) 20 - [:whale: :blue_square: nerdctl ps](#whale-blue_square-nerdctl-ps) 21 - [:whale: :blue_square: nerdctl inspect](#whale-blue_square-nerdctl-inspect) 22 - [:whale: nerdctl logs](#whale-nerdctl-logs) 23 - [:whale: nerdctl port](#whale-nerdctl-port) 24 - [:whale: nerdctl rm](#whale-nerdctl-rm) 25 - [:whale: nerdctl stop](#whale-nerdctl-stop) 26 - [:whale: nerdctl start](#whale-nerdctl-start) 27 - [:whale: nerdctl restart](#whale-nerdctl-restart) 28 - [:whale: nerdctl update](#whale-nerdctl-update) 29 - [:whale: nerdctl wait](#whale-nerdctl-wait) 30 - [:whale: nerdctl kill](#whale-nerdctl-kill) 31 - [:whale: nerdctl pause](#whale-nerdctl-pause) 32 - [:whale: nerdctl unpause](#whale-nerdctl-unpause) 33 - [:whale: nerdctl rename](#whale-nerdctl-rename) 34 - [:whale: nerdctl attach](#whale-nerdctl-attach) 35 - [:whale: nerdctl container prune](#whale-nerdctl-container-prune) 36 - [:whale: nerdctl diff](#whale-nerdctl-diff) 37 - [Build](#build) 38 - [:whale: nerdctl build](#whale-nerdctl-build) 39 - [:whale: nerdctl commit](#whale-nerdctl-commit) 40 - [Image management](#image-management) 41 - [:whale: :blue_square: nerdctl images](#whale-blue_square-nerdctl-images) 42 - [:whale: :blue_square: nerdctl pull](#whale-blue_square-nerdctl-pull) 43 - [:whale: nerdctl push](#whale-nerdctl-push) 44 - [:whale: nerdctl load](#whale-nerdctl-load) 45 - [:whale: nerdctl save](#whale-nerdctl-save) 46 - [:whale: nerdctl tag](#whale-nerdctl-tag) 47 - [:whale: nerdctl rmi](#whale-nerdctl-rmi) 48 - [:whale: nerdctl image inspect](#whale-nerdctl-image-inspect) 49 - [:whale: nerdctl image history](#whale-nerdctl-image-history) 50 - [:whale: nerdctl image prune](#whale-nerdctl-image-prune) 51 - [:nerd_face: nerdctl image convert](#nerd_face-nerdctl-image-convert) 52 - [:nerd_face: nerdctl image encrypt](#nerd_face-nerdctl-image-encrypt) 53 - [:nerd_face: nerdctl image decrypt](#nerd_face-nerdctl-image-decrypt) 54 - [Registry](#registry) 55 - [:whale: nerdctl login](#whale-nerdctl-login) 56 - [:whale: nerdctl logout](#whale-nerdctl-logout) 57 - [Network management](#network-management) 58 - [:whale: nerdctl network create](#whale-nerdctl-network-create) 59 - [:whale: nerdctl network ls](#whale-nerdctl-network-ls) 60 - [:whale: nerdctl network inspect](#whale-nerdctl-network-inspect) 61 - [:whale: nerdctl network rm](#whale-nerdctl-network-rm) 62 - [:whale: nerdctl network prune](#whale-nerdctl-network-prune) 63 - [Volume management](#volume-management) 64 - [:whale: nerdctl volume create](#whale-nerdctl-volume-create) 65 - [:whale: nerdctl volume ls](#whale-nerdctl-volume-ls) 66 - [:whale: nerdctl volume inspect](#whale-nerdctl-volume-inspect) 67 - [:whale: nerdctl volume rm](#whale-nerdctl-volume-rm) 68 - [:whale: nerdctl volume prune](#whale-nerdctl-volume-prune) 69 - [Namespace management](#namespace-management) 70 - [:nerd_face: :blue_square: nerdctl namespace create](#nerd_face-blue_square-nerdctl-namespace-create) 71 - [:nerd_face: :blue_square: nerdctl namespace inspect](#nerd_face-blue_square-nerdctl-namespace-inspect) 72 - [:nerd_face: :blue_square: nerdctl namespace ls](#nerd_face-blue_square-nerdctl-namespace-ls) 73 - [:nerd_face: :blue_square: nerdctl namespace remove](#nerd_face-blue_square-nerdctl-namespace-remove) 74 - [:nerd_face: :blue_square: nerdctl namespace update](#nerd_face-blue_square-nerdctl-namespace-update) 75 - [AppArmor profile management](#apparmor-profile-management) 76 - [:nerd_face: nerdctl apparmor inspect](#nerd_face-nerdctl-apparmor-inspect) 77 - [:nerd_face: nerdctl apparmor load](#nerd_face-nerdctl-apparmor-load) 78 - [:nerd_face: nerdctl apparmor ls](#nerd_face-nerdctl-apparmor-ls) 79 - [:nerd_face: nerdctl apparmor unload](#nerd_face-nerdctl-apparmor-unload) 80 - [Builder management](#builder-management) 81 - [:whale: nerdctl builder prune](#whale-nerdctl-builder-prune) 82 - [:nerd_face: nerdctl builder debug](#nerd_face-nerdctl-builder-debug) 83 - [System](#system) 84 - [:whale: nerdctl events](#whale-nerdctl-events) 85 - [:whale: nerdctl info](#whale-nerdctl-info) 86 - [:whale: nerdctl version](#whale-nerdctl-version) 87 - [:whale: nerdctl system prune](#whale-nerdctl-system-prune) 88 - [Stats](#stats) 89 - [:whale: nerdctl stats](#whale-nerdctl-stats) 90 - [:whale: nerdctl top](#whale-nerdctl-top) 91 - [Shell completion](#shell-completion) 92 - [:nerd_face: nerdctl completion bash](#nerd_face-nerdctl-completion-bash) 93 - [:nerd_face: nerdctl completion zsh](#nerd_face-nerdctl-completion-zsh) 94 - [:nerd_face: nerdctl completion fish](#nerd_face-nerdctl-completion-fish) 95 - [:nerd_face: nerdctl completion powershell](#nerd_face-nerdctl-completion-powershell) 96 - [Compose](#compose) 97 - [:whale: nerdctl compose](#whale-nerdctl-compose) 98 - [:whale: nerdctl compose up](#whale-nerdctl-compose-up) 99 - [:whale: nerdctl compose logs](#whale-nerdctl-compose-logs) 100 - [:whale: nerdctl compose build](#whale-nerdctl-compose-build) 101 - [:whale: nerdctl compose create](#whale-nerdctl-compose-create) 102 - [:whale: nerdctl compose exec](#whale-nerdctl-compose-exec) 103 - [:whale: nerdctl compose down](#whale-nerdctl-compose-down) 104 - [:whale: nerdctl compose images](#whale-nerdctl-compose-images) 105 - [:whale: nerdctl compose start](#whale-nerdctl-compose-start) 106 - [:whale: nerdctl compose stop](#whale-nerdctl-compose-stop) 107 - [:whale: nerdctl compose port](#whale-nerdctl-compose-port) 108 - [:whale: nerdctl compose ps](#whale-nerdctl-compose-ps) 109 - [:whale: nerdctl compose pull](#whale-nerdctl-compose-pull) 110 - [:whale: nerdctl compose push](#whale-nerdctl-compose-push) 111 - [:whale: nerdctl compose pause](#whale-nerdctl-compose-pause) 112 - [:whale: nerdctl compose unpause](#whale-nerdctl-compose-unpause) 113 - [:whale: nerdctl compose config](#whale-nerdctl-compose-config) 114 - [:whale: nerdctl compose cp](#whale-nerdctl-compose-cp) 115 - [:whale: nerdctl compose kill](#whale-nerdctl-compose-kill) 116 - [:whale: nerdctl compose restart](#whale-nerdctl-compose-restart) 117 - [:whale: nerdctl compose rm](#whale-nerdctl-compose-rm) 118 - [:whale: nerdctl compose run](#whale-nerdctl-compose-run) 119 - [:whale: nerdctl compose top](#whale-nerdctl-compose-top) 120 - [:whale: nerdctl compose version](#whale-nerdctl-compose-version) 121 - [IPFS management](#ipfs-management) 122 - [:nerd_face: nerdctl ipfs registry serve](#nerd_face-nerdctl-ipfs-registry-serve) 123 - [Global flags](#global-flags) 124 - [Unimplemented Docker commands](#unimplemented-docker-commands) 125 126 <!-- END doctoc generated TOC please keep comment here to allow auto update --> 127 128 ## Container management 129 130 ### :whale: :blue_square: nerdctl run 131 132 Run a command in a new container. 133 134 Usage: `nerdctl run [OPTIONS] IMAGE [COMMAND] [ARG...]` 135 136 :nerd_face: `ipfs://` prefix can be used for `IMAGE` to pull it from IPFS. See [`ipfs.md`](./ipfs.md) for details. 137 138 Basic flags: 139 140 - :whale: `-a, --attach`: Attach STDIN, STDOUT, or STDERR 141 - :whale: :blue_square: `-i, --interactive`: Keep STDIN open even if not attached" 142 - :whale: :blue_square: `-t, --tty`: Allocate a pseudo-TTY 143 - :warning: WIP: currently `-t` conflicts with `-d` 144 - :whale: `-sig-proxy`: Proxy received signals to the process (default true) 145 - :whale: :blue_square: `-d, --detach`: Run container in background and print container ID 146 - :whale: `--restart=(no|always|on-failure|unless-stopped)`: Restart policy to apply when a container exits 147 - Default: "no" 148 - always: Always restart the container if it stops. 149 - on-failure[:max-retries]: Restart only if the container exits with a non-zero exit status. Optionally, limit the number of times attempts to restart the container using the :max-retries option. 150 - unless-stopped: Always restart the container unless it is stopped. 151 - :whale: `--rm`: Automatically remove the container when it exits 152 - :whale: `--pull=(always|missing|never)`: Pull image before running 153 - Default: "missing" 154 - :whale: `--pid=(host|container:<container>)`: PID namespace to use 155 - :whale: `--uts=(host)` : UTS namespace to use 156 - :whale: `--stop-signal`: Signal to stop a container (default "SIGTERM") 157 - :whale: `--stop-timeout`: Timeout (in seconds) to stop a container 158 - :whale: `--detach-keys`: Override the default detach keys 159 160 Platform flags: 161 162 - :whale: `--platform=(amd64|arm64|...)`: Set platform 163 164 Init process flags: 165 166 - :whale: `--init`: Run an init inside the container that forwards signals and reaps processes. 167 - :nerd_face: `--init-binary=<binary-name>`: The custom init binary to use. We suggest you use the [tini](https://github.com/krallin/tini) binary which is used in Docker project to get the same behavior. 168 Please make sure the binary exists in your `PATH`. 169 - Default: `tini` 170 171 Isolation flags: 172 173 - :whale: :blue_square: :nerd_face: `--isolation=(default|process|host|hyperv)`: Used on Windows to change process isolation level. `default` will use the runtime options configured in `default_runtime` in the [containerd configuration](https://github.com/containerd/containerd/blob/master/docs/cri/config.md#cri-plugin-config-guide) which is `process` in containerd by default. `process` runs process isolated containers. `host` runs [Host Process containers](https://kubernetes.io/docs/tasks/configure-pod-container/create-hostprocess-pod/). Host process containers inherit permissions from containerd process unless `--user` is specified then will start with user specified and the user specified must be present on the host. `host` requires Containerd 1.7+. `hyperv` runs Hyper-V hypervisor partition-based isolated containers. Not implemented for Linux. 174 175 Network flags: 176 177 - :whale: `--net, --network=(bridge|host|none|container:<container>|<CNI>)`: Connect a container to a network. 178 - Default: "bridge" 179 - 'container:<name|id>': reuse another container's network stack, container has to be precreated. 180 - :nerd_face: Unlike Docker, this flag can be specified multiple times (`--net foo --net bar`) 181 - :whale: `-p, --publish`: Publish a container's port(s) to the host 182 - :whale: `--dns`: Set custom DNS servers 183 - :whale: `--dns-search`: Set custom DNS search domains 184 - :whale: `--dns-opt, --dns-option`: Set DNS options 185 - :whale: `-h, --hostname`: Container host name 186 - :whale: `--add-host`: Add a custom host-to-IP mapping (host:ip). `ip` could be a special string `host-gateway`, 187 - which will be resolved to the `host-gateway-ip` in nerdctl.toml or global flag. 188 - :whale: `--ip`: Specific static IP address(es) to use 189 - :whale: `--ip6`: Specific static IP6 address(es) to use. Should be used with user networks 190 - :whale: `--mac-address`: Specific MAC address to use. Be aware that it does not 191 check if manually specified MAC addresses are unique. Supports network 192 type `bridge` and `macvlan` 193 194 Resource flags: 195 196 - :whale: `--cpus`: Number of CPUs 197 - :whale: `--cpu-quota`: Limit the CPU CFS (Completely Fair Scheduler) quota 198 - :whale: `--cpu-period`: Limit the CPU CFS (Completely Fair Scheduler) period 199 - :whale: `--cpu-shares`: CPU shares (relative weight) 200 - :whale: `--cpuset-cpus`: CPUs in which to allow execution (0-3, 0,1) 201 - :whale: `--cpuset-mems`: Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only effective on NUMA systems 202 - :whale: `--memory`: Memory limit 203 - :whale: `--memory-reservation`: Memory soft limit 204 - :whale: `--memory-swap`: Swap limit equal to memory plus swap: '-1' to enable unlimited swap 205 - :whale: `--memory-swappiness`: Tune container memory swappiness (0 to 100) (default -1) 206 - :whale: `--kernel-memory`: Kernel memory limit (deprecated) 207 - :whale: `--oom-kill-disable`: Disable OOM Killer 208 - :whale: `--oom-score-adj`: Tune container’s OOM preferences (-1000 to 1000, rootless: 100 to 1000) 209 - :whale: `--pids-limit`: Tune container pids limit 210 - :nerd_face: `--cgroup-conf`: Configure cgroup v2 (key=value) 211 - :whale: `--blkio-weight`: Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0) 212 - :whale: `--cgroupns=(host|private)`: Cgroup namespace to use 213 - Default: "private" on cgroup v2 hosts, "host" on cgroup v1 hosts 214 - :whale: `--cgroup-parent`: Optional parent cgroup for the container 215 - :whale: :blue_square: `--device`: Add a host device to the container 216 217 Intel RDT flags: 218 219 - :nerd_face: `--rdt-class=CLASS`: Name of the RDT class (or CLOS) to associate the container wit 220 221 User flags: 222 223 - :whale: :blue_square: `-u, --user`: Username or UID (format: <name|uid>[:<group|gid>]) 224 - :nerd_face: `--umask`: Set the umask inside the container. Defaults to 0022. 225 Corresponds to Podman CLI. 226 - :whale: `--group-add`: Add additional groups to join 227 228 Security flags: 229 230 - :whale: `--security-opt seccomp=<PROFILE_JSON_FILE>`: specify custom seccomp profile 231 - :whale: `--security-opt apparmor=<PROFILE>`: specify custom AppArmor profile 232 - :whale: `--security-opt no-new-privileges`: disallow privilege escalation, e.g., setuid and file capabilities 233 - :nerd_face: `--security-opt privileged-without-host-devices`: Don't pass host devices to privileged containers 234 - :whale: `--cap-add=<CAP>`: Add Linux capabilities 235 - :whale: `--cap-drop=<CAP>`: Drop Linux capabilities 236 - :whale: `--privileged`: Give extended privileges to this container 237 238 Runtime flags: 239 240 - :whale: `--runtime`: Runtime to use for this container, e.g. \"crun\", or \"io.containerd.runsc.v1\". 241 - :whale: `--sysctl`: Sysctl options, e.g \"net.ipv4.ip_forward=1\" 242 243 Volume flags: 244 245 - :whale: :blue_square: `-v, --volume <SRC>:<DST>[:<OPT>]`: Bind mount a volume, e.g., `-v /mnt:/mnt:rro,rprivate` 246 - :whale: option `rw` : Read/Write (when writable) 247 - :whale: option `ro` : Non-recursive read-only 248 - :nerd_face: option `rro`: Recursive read-only. Should be used in conjunction with `rprivate`. e.g., `-v /mnt:/mnt:rro,rprivate` makes children such as `/mnt/usb` to be read-only, too. 249 Requires kernel >= 5.12, and crun >= 1.4 or runc >= 1.1 (PR [#3272](https://github.com/opencontainers/runc/pull/3272)). With older runc, `rro` just works as `ro`. 250 - :whale: option `shared`, `slave`, `private`: Non-recursive "shared" / "slave" / "private" propagation 251 - :whale: option `rshared`, `rslave`, `rprivate`: Recursive "shared" / "slave" / "private" propagation 252 - :nerd_face: option `bind`: Not-recursively bind-mounted 253 - :nerd_face: option `rbind`: Recursively bind-mounted 254 - :whale: `--tmpfs`: Mount a tmpfs directory, e.g. `--tmpfs /tmp:size=64m,exec`. 255 - :whale: `--mount`: Attach a filesystem mount to the container. 256 Consists of multiple key-value pairs, separated by commas and each 257 consisting of a `<key>=<value>` tuple. 258 e.g., `-- mount type=bind,source=/src,target=/app,bind-propagation=shared`. 259 - :whale: `type`: Current supported mount types are `bind`, `volume`, `tmpfs`. 260 The default type will be set to `volume` if not specified. 261 i.e., `--mount src=vol-1,dst=/app,readonly` equals `--mount type=volume,src=vol-1,dst=/app,readonly` 262 - Common Options: 263 - :whale: `src`, `source`: Mount source spec for bind and volume. Mandatory for bind. 264 - :whale: `dst`, `destination`, `target`: Mount destination spec. 265 - :whale: `readonly`, `ro`, `rw`, `rro`: Filesystem permissions. 266 - Options specific to `bind`: 267 - :whale: `bind-propagation`: `shared`, `slave`, `private`, `rshared`, `rslave`, or `rprivate`(default). 268 - :whale: `bind-nonrecursive`: `true` or `false`(default). If set to true, submounts are not recursively bind-mounted. This option is useful for readonly bind mount. 269 - unimplemented options: `consistency` 270 - Options specific to `tmpfs`: 271 - :whale: `tmpfs-size`: Size of the tmpfs mount in bytes. Unlimited by default. 272 - :whale: `tmpfs-mode`: File mode of the tmpfs in **octal**. 273 Defaults to `1777` or world-writable. 274 - Options specific to `volume`: 275 - unimplemented options: `volume-nocopy`, `volume-label`, `volume-driver`, `volume-opt` 276 - :whale: `--volumes-from`: Mount volumes from the specified container(s), e.g. "--volumes-from my-container". 277 278 Rootfs flags: 279 280 - :whale: `--read-only`: Mount the container's root filesystem as read only 281 - :nerd_face: `--rootfs`: The first argument is not an image but the rootfs to the exploded container. 282 Corresponds to Podman CLI. 283 284 Env flags: 285 286 - :whale: :blue_square: `--entrypoint`: Overwrite the default ENTRYPOINT of the image 287 - :whale: :blue_square: `-w, --workdir`: Working directory inside the container 288 - :whale: :blue_square: `-e, --env`: Set environment variables 289 - :whale: :blue_square: `--env-file`: Set environment variables from file 290 291 Metadata flags: 292 293 - :whale: :blue_square: `--name`: Assign a name to the container 294 - :whale: :blue_square: `-l, --label`: Set meta data on a container 295 - :whale: :blue_square: `--label-file`: Read in a line delimited file of labels 296 - :whale: :blue_square: `--cidfile`: Write the container ID to the file 297 - :nerd_face: `--pidfile`: file path to write the task's pid. The CLI syntax conforms to Podman convention. 298 299 Logging flags: 300 301 - :whale: `--log-driver=(json-file|journald|fluentd|syslog)`: Logging driver for the container (default `json-file`). 302 - :whale: `--log-driver=json-file`: The logs are formatted as JSON. The default logging driver for nerdctl. 303 - The `json-file` logging driver supports the following logging options: 304 - :whale: `--log-opt=max-size=<MAX-SIZE>`: The maximum size of the log before it is rolled. A positive integer plus a modifier representing the unit of measure (k, m, or g). Defaults to unlimited. 305 - :whale: `--log-opt=max-file=<MAX-FILE>`: The maximum number of log files that can be present. If rolling the logs creates excess files, the oldest file is removed. Only effective when `max-size` is also set. A positive integer. Defaults to 1. 306 - :nerd_face: `--log-opt=log-path=<LOG-PATH>`: The log path where the logs are written. The path will be created if it does not exist. If the log file exists, the old file will be renamed to `<LOG-PATH>.1`. 307 - Default: `<data-root>/<containerd-socket-hash>/<namespace>/<container-id>/<container-id>-json.log` 308 - Example: `/var/lib/nerdctl/1935db59/containers/default/<container-id>/<container-id>-json.log` 309 - :whale: `--log-driver=journald`: Writes log messages to `journald`. The `journald` daemon must be running on the host machine. 310 - :whale: `--log-opt=tag=<TEMPLATE>`: Specify template to set `SYSLOG_IDENTIFIER` value in journald logs. 311 - :whale: `--log-driver=fluentd`: Writes log messages to `fluentd`. The `fluentd` daemon must be running on the host machine. 312 - The `fluentd` logging driver supports the following logging options: 313 - :whale: `--log-opt=fluentd-address=<ADDRESS>`: The address of the `fluentd` daemon, tcp(default) and unix sockets are supported.. 314 - :whale: `--log-opt=fluentd-async=<true|false>`: Enable async mode for fluentd. The default value is false. 315 - :whale: `--log-opt=fluentd-buffer-limit=<LIMIT>`: The buffer limit for fluentd. If the buffer is full, the call to record logs will fail. The default is 8192. (<https://github.com/fluent/fluent-logger-golang/tree/master#bufferlimit>) 316 - :whale: `--log-opt=fluentd-retry-wait=<1s|1ms>`: The time to wait before retrying to send logs to fluentd. The default value is 1s. 317 - :whale: `--log-opt=fluentd-max-retries=<1>`: The maximum number of retries to send logs to fluentd. The default value is MaxInt32. 318 - :whale: `--log-opt=fluentd-sub-second-precision=<true|false>`: Enable sub-second precision for fluentd. The default value is false. 319 - :nerd_face: `--log-opt=fluentd-async-reconnect-interval=<1s|1ms>`: The time to wait before retrying to reconnect to fluentd. The default value is 0s. 320 - :nerd_face: `--log-opt=fluentd-request-ack=<true|false>`: Enable request ack for fluentd. The default value is false. 321 - :whale: `--log-driver=syslog`: Writes log messages to `syslog`. The 322 `syslog` daemon must be running on either the host machine or remote. 323 - The `syslog` logging driver supports the following logging options: 324 - :whale: `--log-opt=syslog-address=<ADDRESS>`: The address of an 325 external `syslog` server. The URI specifier may be 326 `tcp|udp|tcp+tls]://host:port`, `unix://path`, or `unixgram://path`. 327 If the transport is `tcp`, `udp`, or `tcp+tls`, the default port is 328 `514`. 329 - :whale: `--log-opt=syslog-facility=<FACILITY>`: The `syslog` facility to 330 use. Can be the number or name for any valid syslog facility. See the 331 [syslog documentation](https://www.rfc-editor.org/rfc/rfc5424#section-6.2.1). 332 - :whale: `--log-opt=syslog-tls-ca-cert=<VALUE>`: The absolute path to 333 the trust certificates signed by the CA. **Ignored if the address 334 protocol is not `tcp+tls`**. 335 - :whale: `--log-opt=syslog-tls-cert=<VALUE>`: The absolute path to 336 the TLS certificate file. **Ignored if the address protocol is not 337 `tcp+tls`**. 338 - :whale: `--log-opt=syslog-tls-key=<VALUE>`:The absolute path to 339 the TLS key file. **Ignored if the address protocol is not `tcp+tls`**. 340 - :whale: `--log-opt=syslog-tls-skip-verify=<VALUE>`: If set to `true`, 341 TLS verification is skipped when connecting to the daemon. 342 **Ignored if the address protocol is not `tcp+tls`**. 343 - :whale: `--log-opt=syslog-format=<VALUE>`: The `syslog` message format 344 to use. If not specified the local UNIX syslog format is used, 345 without a specified hostname. Specify `rfc3164` for the RFC-3164 346 compatible format, `rfc5424` for RFC-5424 compatible format, or 347 `rfc5424micro` for RFC-5424 compatible format with microsecond 348 timestamp resolution. 349 - :whale: `--log-opt=tag=<VALUE>`: A string that is appended to the 350 `APP-NAME` in the `syslog` message. By default, nerdctl uses the first 351 12 characters of the container ID to tag log messages. 352 - :nerd_face: Accepts a LogURI which is a containerd shim logger. A scheme must be specified for the URI. Example: `nerdctl run -d --log-driver binary:///usr/bin/ctr-journald-shim docker.io/library/hello-world:latest`. An implementation of shim logger can be found at (<https://github.com/containerd/containerd/tree/dbef1d56d7ebc05bc4553d72c419ed5ce025b05d/runtime/v2#logging>) 353 354 Shared memory flags: 355 356 - :whale: `--ipc`: IPC namespace to use 357 - :whale: `--shm-size`: Size of `/dev/shm` 358 359 GPU flags: 360 361 - :whale: `--gpus`: GPU devices to add to the container ('all' to pass all GPUs). Please see also [`./gpu.md`](./gpu.md) for details. 362 363 Ulimit flags: 364 365 - :whale: `--ulimit`: Set ulimit 366 367 Verify flags: 368 369 - :nerd_face: `--verify`: Verify the image (none|cosign|notation). See [`./cosign.md`](./cosign.md) and [`./notation.md`](./notation.md) for details. 370 - :nerd_face: `--cosign-key`: Path to the public key file, KMS, URI or Kubernetes Secret for `--verify=cosign` 371 - :nerd_face: `--cosign-certificate-identity`: The identity expected in a valid Fulcio certificate for --verify=cosign. Valid values include email address, DNS names, IP addresses, and URIs. Either --cosign-certificate-identity or --cosign-certificate-identity-regexp must be set for keyless flows 372 - :nerd_face: `--cosign-certificate-identity-regexp`: A regular expression alternative to --cosign-certificate-identity for --verify=cosign. Accepts the Go regular expression syntax described at https://golang.org/s/re2syntax. Either --cosign-certificate-identity or --cosign-certificate-identity-regexp must be set for keyless flows 373 - :nerd_face: `--cosign-certificate-oidc-issuer`: The OIDC issuer expected in a valid Fulcio certificate for --verify=cosign,, e.g. https://token.actions.githubusercontent.com or https://oauth2.sigstore.dev/auth. Either --cosign-certificate-oidc-issuer or --cosign-certificate-oidc-issuer-regexp must be set for keyless flows 374 - :nerd_face: `--cosign-certificate-oidc-issuer-regexp`: A regular expression alternative to --certificate-oidc-issuer for --verify=cosign,. Accepts the Go regular expression syntax described at https://golang.org/s/re2syntax. Either --cosign-certificate-oidc-issuer or --cosign-certificate-oidc-issuer-regexp must be set for keyless flows 375 376 IPFS flags: 377 378 - :nerd_face: `--ipfs-address`: Multiaddr of IPFS API (default uses `$IPFS_PATH` env variable if defined or local directory `~/.ipfs`) 379 380 Unimplemented `docker run` flags: 381 `--blkio-weight-device`, `--cpu-rt-*`, `--device-*`, 382 `--disable-content-trust`, `--domainname`, `--expose`, `--health-*`, `--isolation`, `--no-healthcheck`, 383 `--link*`, `--mac-address`, `--publish-all`, `--storage-opt`, 384 `--userns`, `--volume-driver` 385 386 ### :whale: :blue_square: nerdctl exec 387 388 Run a command in a running container. 389 390 Usage: `nerdctl exec [OPTIONS] CONTAINER COMMAND [ARG...]` 391 392 Flags: 393 394 - :whale: `-i, --interactive`: Keep STDIN open even if not attached 395 - :whale: `-t, --tty`: Allocate a pseudo-TTY 396 - :warning: WIP: currently `-t` conflicts with `-d` 397 - :whale: `-d, --detach`: Detached mode: run command in the background 398 - :whale: `-w, --workdir`: Working directory inside the container 399 - :whale: `-e, --env`: Set environment variables 400 - :whale: `--env-file`: Set environment variables from file 401 - :whale: `--privileged`: Give extended privileges to the command 402 - :whale: `-u, --user`: Username or UID (format: <name|uid>[:<group|gid>]) 403 404 Unimplemented `docker exec` flags: `--detach-keys` 405 406 ### :whale: :blue_square: nerdctl create 407 408 Create a new container. 409 410 Usage: `nerdctl create [OPTIONS] IMAGE [COMMAND] [ARG...]` 411 412 :nerd_face: `ipfs://` prefix can be used for `IMAGE` to pull it from IPFS. See [`ipfs.md`](./ipfs.md) for details. 413 414 The `nerdctl create` command similar to `nerdctl run -d` except the container is never started. You can then use the `nerdctl start <container_id>` command to start the container at any point. 415 416 ### :whale: nerdctl cp 417 418 Copy files/folders between a running container and the local filesystem 419 420 Usage: 421 422 - `nerdctl cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-` 423 - `nerdctl cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH` 424 425 :warning: `nerdctl cp` is designed only for use with trusted, cooperating containers. 426 Using `nerdctl cp` with untrusted or malicious containers is unsupported and may not provide protection against unexpected behavior. 427 428 Flags: 429 430 - :whale: `-L, --follow-link` Always follow symbol link in SRC_PATH. 431 432 Unimplemented `docker cp` flags: `--archive` 433 434 ### :whale: :blue_square: nerdctl ps 435 436 List containers. 437 438 Usage: `nerdctl ps [OPTIONS]` 439 440 Flags: 441 442 - :whale: `-a, --all`: Show all containers (default shows just running) 443 - :whale: `--no-trunc`: Don't truncate output 444 - :whale: `-q, --quiet`: Only display container IDs 445 - :whale: `-s, --size`: Display total file sizes 446 - :whale: `--format`: Format the output using the given Go template 447 - :whale: `--format=table` (default): Table 448 - :whale: `--format='{{json .}}'`: JSON 449 - :nerd_face: `--format=wide`: Wide table 450 - :nerd_face: `--format=json`: Alias of `--format='{{json .}}'` 451 - :whale: `-n, --last`: Show n last created containers (includes all states) 452 - :whale: `-l, --latest`: Show the latest created container (includes all states) 453 - :whale: `-f, --filter`: Filter containers based on given conditions 454 - :whale: `--filter id=<value>`: Container's ID. Both full ID and 455 truncated ID are supported 456 - :whale: `--filter name=<value>`: Container's name 457 - :whale: `--filter label=<key>=<value>`: Arbitrary string either a key or a 458 key-value pair 459 - :whale: `--filter exited=<value>`: Container's exit code. Only work with 460 `--all` 461 - :whale: `--filter status=<value>`: One of `created, running, paused, 462 stopped, exited, pausing, unknown`. Note that `restarting, removing, dead` are 463 not supported and will be ignored 464 - :whale: `--filter before/since=<ID/name>`: Filter containers created before 465 or after a given ID or name 466 - :whale: `--filter volume=<value>`: Filter by a given mounted volume or bind 467 mount 468 - :whale: `--filter network=<value>`: Filter by a given network 469 470 Following arguments for `--filter` are not supported yet: 471 472 1. `--filter ancestor=<value>` 473 2. `--filter publish/expose=<port/startport-endport>[/<proto>]` 474 3. `--filter health=<value>` 475 4. `--filter isolation=<value>` 476 5. `--filter is-task=<value>` 477 478 ### :whale: :blue_square: nerdctl inspect 479 480 Display detailed information on one or more containers. 481 482 Usage: `nerdctl inspect [OPTIONS] NAME|ID [NAME|ID...]` 483 484 Flags: 485 486 - :nerd_face: `--mode=(dockercompat|native)`: Inspection mode. "native" produces more information. 487 - :whale: `--format`: Format the output using the given Go template, e.g, `{{json .}}` 488 - :whale: `--type`: Return JSON for specified type 489 490 Unimplemented `docker inspect` flags: `--size` 491 492 ### :whale: nerdctl logs 493 494 Fetch the logs of a container. 495 496 :warning: Currently, only containers created with `nerdctl run -d` are supported. 497 498 Usage: `nerdctl logs [OPTIONS] CONTAINER` 499 500 Flags: 501 502 - :whale: `-f, --follow`: Follow log output 503 - :whale: `--since`: Show logs since timestamp (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes) 504 - :whale: `--until`: Show logs before a timestamp (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes) 505 - :whale: `-t, --timestamps`: Show timestamps 506 - :whale: `-n, --tail`: Number of lines to show from the end of the logs (default "all") 507 508 Unimplemented `docker logs` flags: `--details` 509 510 ### :whale: nerdctl port 511 512 List port mappings or a specific mapping for the container. 513 514 Usage: `nerdctl port CONTAINER [PRIVATE_PORT[/PROTO]]` 515 516 ### :whale: nerdctl rm 517 518 Remove one or more containers. 519 520 Usage: `nerdctl rm [OPTIONS] CONTAINER [CONTAINER...]` 521 522 Flags: 523 524 - :whale: `-f, --force`: Force the removal of a running|paused|unknown container (uses SIGKILL) 525 - :whale: `-v, --volumes`: Remove anonymous volumes associated with the container 526 527 Unimplemented `docker rm` flags: `--link` 528 529 ### :whale: nerdctl stop 530 531 Stop one or more running containers. 532 533 Usage: `nerdctl stop [OPTIONS] CONTAINER [CONTAINER...]` 534 535 Flags: 536 537 - :whale: `-t, --time=SECONDS`: Seconds to wait for stop before killing it (default "10") 538 - Tips: If the init process in container is exited after receiving SIGTERM or exited before the time you specified, the container will be exited immediately 539 540 ### :whale: nerdctl start 541 542 Start one or more running containers. 543 544 Usage: `nerdctl start [OPTIONS] CONTAINER [CONTAINER...]` 545 546 Flags: 547 548 - :whale: `-a, --attach`: Attach STDOUT/STDERR and forward signals 549 - :whale: `--detach-keys`: Override the default detach keys 550 551 Unimplemented `docker start` flags: `--checkpoint`, `--checkpoint-dir`, `--interactive` 552 553 ### :whale: nerdctl restart 554 555 Restart one or more running containers. 556 557 Usage: `nerdctl restart [OPTIONS] CONTAINER [CONTAINER...]` 558 559 Flags: 560 561 - :whale: `-t, --time=SECONDS`: Seconds to wait for stop before killing it (default "10") 562 - Tips: If the init process in container is exited after receiving SIGTERM or exited before the time you specified, the container will be exited immediately 563 564 ### :whale: nerdctl update 565 566 Update configuration of one or more containers. 567 568 Usage: `nerdctl update [OPTIONS] CONTAINER [CONTAINER...]` 569 570 - :whale: `--cpus`: Number of CPUs 571 - :whale: `--cpu-quota`: Limit the CPU CFS (Completely Fair Scheduler) quota 572 - :whale: `--cpu-period`: Limit the CPU CFS (Completely Fair Scheduler) period 573 - :whale: `--cpu-shares`: CPU shares (relative weight) 574 - :whale: `--cpuset-cpus`: CPUs in which to allow execution (0-3, 0,1) 575 - :whale: `--cpuset-mems`: Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only effective on NUMA systems 576 - :whale: `--memory`: Memory limit 577 - :whale: `--memory-reservation`: Memory soft limit 578 - :whale: `--memory-swap`: Swap limit equal to memory plus swap: '-1' to enable unlimited swap 579 - :whale: `--kernel-memory`: Kernel memory limit (deprecated) 580 - :whale: `--pids-limit`: Tune container pids limit 581 - :whale: `--blkio-weight`: Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0) 582 - :whale: `--restart=(no|always|on-failure|unless-stopped)`: Restart policy to apply when a container exits 583 584 ### :whale: nerdctl wait 585 586 Block until one or more containers stop, then print their exit codes. 587 588 Usage: `nerdctl wait CONTAINER [CONTAINER...]` 589 590 ### :whale: nerdctl kill 591 592 Kill one or more running containers. 593 594 Usage: `nerdctl kill [OPTIONS] CONTAINER [CONTAINER...]` 595 596 Flags: 597 598 - :whale: `-s, --signal`: Signal to send to the container (default: "KILL") 599 600 ### :whale: nerdctl pause 601 602 Pause all processes within one or more containers. 603 604 Usage: `nerdctl pause CONTAINER [CONTAINER...]` 605 606 ### :whale: nerdctl unpause 607 608 Unpause all processes within one or more containers. 609 610 Usage: `nerdctl unpause CONTAINER [CONTAINER...]` 611 612 ### :whale: nerdctl rename 613 614 Rename a container. 615 616 Usage: `nerdctl rename CONTAINER NEW_NAME` 617 618 ### :whale: nerdctl attach 619 620 Attach stdin, stdout, and stderr to a running container. For example: 621 622 1. `nerdctl run -it --name test busybox` to start a container with a pty 623 2. `ctrl-p ctrl-q` to detach from the container 624 3. `nerdctl attach test` to attach to the container 625 626 Caveats: 627 628 - Currently only one attach session is allowed. When the second session tries to attach, currently no error will be returned from nerdctl. 629 However, since behind the scenes, there's only one FIFO for stdin, stdout, and stderr respectively, 630 if there are multiple sessions, all the sessions will be reading from and writing to the same 3 FIFOs, which will result in mixed input and partial output. 631 - Until dual logging (issue #1946) is implemented, 632 a container that is spun up by either `nerdctl run -d` or `nerdctl start` (without `--attach`) cannot be attached to. 633 634 Usage: `nerdctl attach CONTAINER` 635 636 Flags: 637 638 - :whale: `--detach-keys`: Override the default detach keys 639 640 Unimplemented `docker attach` flags: `--no-stdin`, `--sig-proxy` 641 642 ### :whale: nerdctl container prune 643 644 Remove all stopped containers. 645 646 Usage: `nerdctl container prune [OPTIONS]` 647 648 Flags: 649 650 - :whale: `-f, --force`: Do not prompt for confirmation. 651 652 Unimplemented `docker container prune` flags: `--filter` 653 654 ### :whale: nerdctl diff 655 656 Inspect changes to files or directories on a container's filesystem 657 658 Usage: `nerdctl diff CONTAINER` 659 660 ## Build 661 662 ### :whale: nerdctl build 663 664 Build an image from a Dockerfile. 665 666 :information_source: Needs buildkitd to be running. See also [the document about setting up `nerdctl build` with BuildKit](./build.md). 667 668 Usage: `nerdctl build [OPTIONS] PATH` 669 670 Flags: 671 672 - :nerd_face: `--buildkit-host=<BUILDKIT_HOST>`: BuildKit address 673 - :whale: `-t, --tag`: Name and optionally a tag in the 'name:tag' format 674 - :whale: `-f, --file`: Name of the Dockerfile 675 - :whale: `--target`: Set the target build stage to build 676 - :whale: `--build-arg`: Set build-time variables 677 - :whale: `--no-cache`: Do not use cache when building the image 678 - :whale: `--output=OUTPUT`: Output destination (format: type=local,dest=path) 679 - :whale: `type=local,dest=path/to/output-dir`: Local directory 680 - :whale: `type=oci[,dest=path/to/output.tar]`: Docker/OCI dual-format tar ball (compatible with `docker buildx build`) 681 - :whale: `type=docker[,dest=path/to/output.tar]`: Docker format tar ball (compatible with `docker buildx build`) 682 - :whale: `type=tar[,dest=path/to/output.tar]`: Raw tar ball 683 - :whale: `type=image,name=example.com/image,push=true`: Push to a registry (see [`buildctl build`](https://github.com/moby/buildkit/tree/v0.9.0#imageregistry) documentation) 684 - :whale: `--progress=(auto|plain|tty)`: Set type of progress output (auto, plain, tty). Use plain to show container output 685 - :whale: `--secret`: Secret file to expose to the build: id=mysecret,src=/local/secret 686 - :whale: `--allow`: Allow extra privileged entitlement, e.g. network.host, security.insecure (It’s required to configure the buildkitd to enable the feature, see [`buildkitd.toml`](https://github.com/moby/buildkit/blob/master/docs/buildkitd.toml.md) documentation) 687 - :whale: `--ssh`: SSH agent socket or keys to expose to the build (format: `default|<id>[=<socket>|<key>[,<key>]]`) 688 - :whale: `-q, --quiet`: Suppress the build output and print image ID on success 689 - :whale: `--cache-from=CACHE`: External cache sources (eg. user/app:cache, type=local,src=path/to/dir) (compatible with `docker buildx build`) 690 - :whale: `--cache-to=CACHE`: Cache export destinations (eg. user/app:cache, type=local,dest=path/to/dir) (compatible with `docker buildx build`) 691 - :whale: `--platform=(amd64|arm64|...)`: Set target platform for build (compatible with `docker buildx build`) 692 - :whale: `--iidfile=FILE`: Write the image ID to the file 693 - :nerd_face: `--ipfs`: Build image with pulling base images from IPFS. See [`ipfs.md`](./ipfs.md) for details. 694 - :whale: `--label`: Set metadata for an image 695 - :whale: `--network=(default|host|none)`: Set the networking mode for the RUN instructions during build.(compatible with `buildctl build`) 696 697 Unimplemented `docker build` flags: `--add-host`, `--squash` 698 699 ### :whale: nerdctl commit 700 701 Create a new image from a container's changes 702 703 Usage: `nerdctl commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]` 704 705 Flags: 706 707 - :whale: `-a, --author`: Author (e.g., "nerdctl contributor <nerdctl-dev@example.com>") 708 - :whale: `-m, --message`: Commit message 709 - :whale: `-c, --change`: Apply Dockerfile instruction to the created image (supported directives: [CMD, ENTRYPOINT]) 710 - :whale: `-p, --pause`: Pause container during commit (default: true) 711 712 ## Image management 713 714 ### :whale: :blue_square: nerdctl images 715 716 List images 717 718 :warning: The image ID is usually different from Docker image ID. 719 720 Usage: `nerdctl images [OPTIONS] [REPOSITORY[:TAG]]` 721 722 Flags: 723 724 - :whale: `-a, --all`: Show all images (unimplemented) 725 - :whale: `-q, --quiet`: Only show numeric IDs 726 - :whale: `--no-trunc`: Don't truncate output 727 - :whale: `--format`: Format the output using the given Go template 728 - :whale: `--format=table` (default): Table 729 - :whale: `--format='{{json .}}'`: JSON 730 - :nerd_face: `--format=wide`: Wide table 731 - :nerd_face: `--format=json`: Alias of `--format='{{json .}}'` 732 - :whale: `--digests`: Show digests (compatible with Docker, unlike ID) 733 - :whale: `-f, --filter`: Filter the images. For now, only 'before=<image:tag>' and 'since=<image:tag>' is supported. 734 - :whale: `--filter=before=<image:tag>`: Images created before given image (exclusive) 735 - :whale: `--filter=since=<image:tag>`: Images created after given image (exclusive) 736 - :whale: `--filter=label<key>=<value>`: Matches images based on the presence of a label alone or a label and a value 737 - :whale: `--filter=dangling=true`: Filter images by dangling 738 - :nerd_face: `--filter=reference=<image:tag>`: Filter images by reference (Matches both docker compatible wildcard pattern and regexp match) 739 - :nerd_face: `--names`: Show image names 740 741 ### :whale: :blue_square: nerdctl pull 742 743 Pull an image from a registry. 744 745 Usage: `nerdctl pull [OPTIONS] NAME[:TAG|@DIGEST]` 746 747 :nerd_face: `ipfs://` prefix can be used for `NAME` to pull it from IPFS. See [`ipfs.md`](./ipfs.md) for details. 748 749 Flags: 750 751 - :whale: `--platform=(amd64|arm64|...)`: Pull content for a specific platform 752 - :nerd_face: Unlike Docker, this flag can be specified multiple times (`--platform=amd64 --platform=arm64`) 753 - :nerd_face: `--all-platforms`: Pull content for all platforms 754 - :nerd_face: `--unpack`: Unpack the image for the current single platform (auto/true/false) 755 - :whale: `-q, --quiet`: Suppress verbose output 756 - :nerd_face: `--verify`: Verify the image (none|cosign|notation). See [`./cosign.md`](./cosign.md) and [`./notation.md`](./notation.md) for details. 757 - :nerd_face: `--cosign-key`: Path to the public key file, KMS, URI or Kubernetes Secret for `--verify=cosign` 758 - :nerd_face: `--cosign-certificate-identity`: The identity expected in a valid Fulcio certificate for --verify=cosign. Valid values include email address, DNS names, IP addresses, and URIs. Either --cosign-certificate-identity or --cosign-certificate-identity-regexp must be set for keyless flows 759 - :nerd_face: `--cosign-certificate-identity-regexp`: A regular expression alternative to --cosign-certificate-identity for --verify=cosign. Accepts the Go regular expression syntax described at https://golang.org/s/re2syntax. Either --cosign-certificate-identity or --cosign-certificate-identity-regexp must be set for keyless flows 760 - :nerd_face: `--cosign-certificate-oidc-issuer`: The OIDC issuer expected in a valid Fulcio certificate for --verify=cosign,, e.g. https://token.actions.githubusercontent.com or https://oauth2.sigstore.dev/auth. Either --cosign-certificate-oidc-issuer or --cosign-certificate-oidc-issuer-regexp must be set for keyless flows 761 - :nerd_face: `--cosign-certificate-oidc-issuer-regexp`: A regular expression alternative to --certificate-oidc-issuer for --verify=cosign,. Accepts the Go regular expression syntax described at https://golang.org/s/re2syntax. Either --cosign-certificate-oidc-issuer or --cosign-certificate-oidc-issuer-regexp must be set for keyless flows 762 - :nerd_face: `--ipfs-address`: Multiaddr of IPFS API (default uses `$IPFS_PATH` env variable if defined or local directory `~/.ipfs`) 763 - :nerd_face: `--soci-index-digest`: Specify a particular index digest for SOCI. If left empty, SOCI will automatically use the index determined by the selection policy. 764 765 Unimplemented `docker pull` flags: `--all-tags`, `--disable-content-trust` (default true) 766 767 ### :whale: nerdctl push 768 769 Push an image to a registry. 770 771 Usage: `nerdctl push [OPTIONS] NAME[:TAG]` 772 773 :nerd_face: `ipfs://` prefix can be used for `NAME` to push it to IPFS. See [`ipfs.md`](./ipfs.md) for details. 774 775 Flags: 776 777 - :nerd_face: `--platform=(amd64|arm64|...)`: Push content for a specific platform 778 - :nerd_face: `--all-platforms`: Push content for all platforms 779 - :nerd_face: `--sign`: Sign the image (none|cosign|notation). See [`./cosign.md`](./cosign.md) and [`./notation.md`](./notation.md) for details. 780 - :nerd_face: `--cosign-key`: Path to the private key file, KMS, URI or Kubernetes Secret for `--sign=cosign` 781 - :nerd_face: `--notation-key-name`: Signing key name for a key previously added to notation's key list for `--sign=notation` 782 - :nerd_face: `--allow-nondistributable-artifacts`: Allow pushing images with non-distributable blobs 783 - :nerd_face: `--ipfs-address`: Multiaddr of IPFS API (default uses `$IPFS_PATH` env variable if defined or local directory `~/.ipfs`) 784 - :whale: `-q, --quiet`: Suppress verbose output 785 - :nerd_face: `--soci-span-size`: Span size in bytes that soci index uses to segment layer data. Default is 4 MiB. 786 - :nerd_face: `--soci-min-layer-size`: Minimum layer size in bytes to build zTOC for. Smaller layers won't have zTOC and not lazy pulled. Default is 10 MiB. 787 788 Unimplemented `docker push` flags: `--all-tags`, `--disable-content-trust` (default true) 789 790 ### :whale: nerdctl load 791 792 Load an image from a tar archive or STDIN. 793 794 :nerd_face: Supports both Docker Image Spec v1.2 and OCI Image Spec v1.0. 795 796 Usage: `nerdctl load [OPTIONS]` 797 798 Flags: 799 800 - :whale: `-i, --input`: Read from tar archive file, instead of STDIN 801 - :nerd_face: `--platform=(amd64|arm64|...)`: Import content for a specific platform 802 - :nerd_face: `--all-platforms`: Import content for all platforms 803 804 Unimplemented `docker load` flags: `--quiet` 805 806 ### :whale: nerdctl save 807 808 Save one or more images to a tar archive (streamed to STDOUT by default) 809 810 :nerd_face: The archive implements both Docker Image Spec v1.2 and OCI Image Spec v1.0. 811 812 Usage: `nerdctl save [OPTIONS] IMAGE [IMAGE...]` 813 814 Flags: 815 816 - :whale: `-o, --output`: Write to a file, instead of STDOUT 817 - :nerd_face: `--platform=(amd64|arm64|...)`: Export content for a specific platform 818 - :nerd_face: `--all-platforms`: Export content for all platforms 819 820 ### :whale: nerdctl tag 821 822 Create a tag TARGET\_IMAGE that refers to SOURCE\_IMAGE. 823 824 Usage: `nerdctl tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]` 825 826 ### :whale: nerdctl rmi 827 828 Remove one or more images 829 830 Usage: `nerdctl rmi [OPTIONS] IMAGE [IMAGE...]` 831 832 Flags: 833 834 - :nerd_face: `--async`: Asynchronous mode 835 - :whale: `-f, --force`: Force removal of the image 836 837 Unimplemented `docker rmi` flags: `--no-prune` 838 839 ### :whale: nerdctl image inspect 840 841 Display detailed information on one or more images. 842 843 Usage: `nerdctl image inspect [OPTIONS] NAME|ID [NAME|ID...]` 844 845 Flags: 846 847 - :nerd_face: `--mode=(dockercompat|native)`: Inspection mode. "native" produces more information. 848 - :whale: `--format`: Format the output using the given Go template, e.g, `{{json .}}` 849 - :nerd_face: `--platform=(amd64|arm64|...)`: Inspect a specific platform 850 851 ### :whale: nerdctl image history 852 853 Show the history of an image. 854 855 Usage: `nerdctl history [OPTIONS] IMAGE` 856 857 Flags: 858 859 - :whale: `--no-trunc`: Don't truncate output 860 - :whale: `-q, --quiet`: Only display snapshots IDs 861 - :whale: `--format`: Format the output using the given Go template, e.g, `{{json .}}` 862 863 ### :whale: nerdctl image prune 864 865 Remove unused images. 866 867 Usage: `nerdctl image prune [OPTIONS]` 868 869 Flags: 870 871 - :whale: `-a, --all`: Remove all unused images, not just dangling ones 872 - :whale: `-f, --force`: Do not prompt for confirmation 873 874 Unimplemented `docker image prune` flags: `--filter` 875 876 ### :nerd_face: nerdctl image convert 877 878 Convert an image format. 879 880 e.g., `nerdctl image convert --estargz --oci example.com/foo:orig example.com/foo:esgz` 881 882 Usage: `nerdctl image convert [OPTIONS] SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]` 883 884 Flags: 885 886 - `--estargz` : convert legacy tar(.gz) layers to eStargz for lazy pulling. Should be used in conjunction with '--oci' 887 - `--estargz-record-in=<FILE>` : read `ctr-remote optimize --record-out=<FILE>` record file. :warning: This flag is experimental and subject to change. 888 - `--estargz-compression-level=<LEVEL>`: eStargz compression level (default: 9) 889 - `--estargz-chunk-size=<SIZE>` : eStargz chunk size 890 - `--estargz-min-chunk-size=<SIZE>` : The minimal number of bytes of data must be written in one gzip stream (requires stargz-snapshotter >= v0.13.0). Useful for creating a smaller eStargz image (refer to [`./stargz.md`](./stargz.md) for details). 891 - `--estargz-external-toc` : Separate TOC JSON into another image (called \"TOC image\"). The name of TOC image is the original + \"-esgztoc\" suffix. Both eStargz and the TOC image should be pushed to the same registry. (requires stargz-snapshotter >= v0.13.0) Useful for creating a smaller eStargz image (refer to [`./stargz.md`](./stargz.md) for details). :warning: This flag is experimental and subject to change. 892 - `--estargz-keep-diff-id`: Convert to esgz without changing diffID (cannot be used in conjunction with '--estargz-record-in'. must be specified with '--estargz-external-toc') 893 - `--zstd` : Use zstd compression instead of gzip. Should be used in conjunction with '--oci' 894 - `--zstd-compression-level=<LEVEL>` : zstd compression level (default: 3) 895 - `--zstdchunked` : Use zstd compression instead of gzip (a.k.a zstd:chunked). Should be used in conjunction with '--oci' 896 - `--zstdchunked-record-in=<FILE>` : read `ctr-remote optimize --record-out=<FILE>` record file. :warning: This flag is experimental and subject to change. 897 - `--zstdchunked-compression-level=<LEVEL>`: zstd:chunked compression level (default: 3) 898 - `--zstdchunked-chunk-size=<SIZE>`: zstd:chunked chunk size 899 - `--uncompress` : convert tar.gz layers to uncompressed tar layers 900 - `--oci` : convert Docker media types to OCI media types 901 - `--platform=<PLATFORM>` : convert content for a specific platform 902 - `--all-platforms` : convert content for all platforms (default: false) 903 904 ### :nerd_face: nerdctl image encrypt 905 906 Encrypt image layers. See [`./ocicrypt.md`](./ocicrypt.md). 907 908 Usage: `nerdctl image encrypt [OPTIONS] SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]` 909 910 Example: 911 912 ```bash 913 openssl genrsa -out mykey.pem 914 openssl rsa -in mykey.pem -pubout -out mypubkey.pem 915 nerdctl image encrypt --recipient=jwe:mypubkey.pem --platform=linux/amd64,linux/arm64 foo example.com/foo:encrypted 916 nerdctl push example.com/foo:encrypted 917 ``` 918 919 :warning: CAUTION: This command only encrypts image layers, but does NOT encrypt [container configuration such as `Env` and `Cmd`](https://github.com/opencontainers/image-spec/blob/v1.0.1/config.md#example). 920 To see non-encrypted information, run `nerdctl image inspect --mode=native --platform=PLATFORM example.com/foo:encrypted` . 921 922 Flags: 923 924 - `--recipient=<RECIPIENT>` : Recipient of the image is the person who can decrypt (e.g., `jwe:mypubkey.pem`) 925 - `--dec-recipient=<RECIPIENT>` : Recipient of the image; used only for PKCS7 and must be an x509 certificate 926 - `--key=<KEY>[:<PWDDESC>]` : A secret key's filename and an optional password separated by colon, PWDDESC=<password>|pass:<password>|fd=<file descriptor>|filename 927 - `--gpg-homedir=<DIR>` : The GPG homedir to use; by default gpg uses ~/.gnupg 928 - `--gpg-version=<VERSION>` : The GPG version ("v1" or "v2"), default will make an educated guess 929 - `--platform=<PLATFORM>` : Convert content for a specific platform 930 - `--all-platforms` : Convert content for all platforms (default: false) 931 932 ### :nerd_face: nerdctl image decrypt 933 934 Decrypt image layers. See [`./ocicrypt.md`](./ocicrypt.md). 935 936 Usage: `nerdctl image decrypt [OPTIONS] SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]` 937 938 Example: 939 940 ```bash 941 nerdctl pull --unpack=false example.com/foo:encrypted 942 nerdctl image decrypt --key=mykey.pem example.com/foo:encrypted foo:decrypted 943 ``` 944 945 Flags: 946 947 - `--dec-recipient=<RECIPIENT>` : Recipient of the image; used only for PKCS7 and must be an x509 certificate 948 - `--key=<KEY>[:<PWDDESC>]` : A secret key's filename and an optional password separated by colon, PWDDESC=<password>|pass:<password>|fd=<file descriptor>|filename 949 - `--gpg-homedir=<DIR>` : The GPG homedir to use; by default gpg uses ~/.gnupg 950 - `--gpg-version=<VERSION>` : The GPG version ("v1" or "v2"), default will make an educated guess 951 - `--platform=<PLATFORM>` : Convert content for a specific platform 952 - `--all-platforms` : Convert content for all platforms (default: false) 953 954 ## Registry 955 956 ### :whale: nerdctl login 957 958 Log in to a container registry. 959 960 Usage: `nerdctl login [OPTIONS] [SERVER]` 961 962 Flags: 963 964 - :whale: `-u, --username`: Username 965 - :whale: `-p, --password`: Password 966 - :whale: `--password-stdin`: Take the password from stdin 967 968 ### :whale: nerdctl logout 969 970 Log out from a container registry 971 972 Usage: `nerdctl logout [SERVER]` 973 974 ## Network management 975 976 ### :whale: nerdctl network create 977 978 Create a network 979 980 :information_source: To isolate CNI bridge, CNI plugins v1.1.0 or later needs to be installed. 981 982 Usage: `nerdctl network create [OPTIONS] NETWORK` 983 984 Flags: 985 986 - :whale: `-d, --driver=(bridge|nat|macvlan|ipvlan)`: Driver to manage the Network 987 - :whale: `--driver=bridge`: Default driver for unix 988 - :whale: `--driver=macvlan`: Macvlan network driver for unix 989 - :whale: `--driver=ipvlan`: IPvlan network driver for unix 990 - :whale: :blue_square: `--driver=nat`: Default driver for windows 991 - :whale: `-o, --opt`: Set driver specific options 992 - :whale: `--opt=com.docker.network.driver.mtu=<MTU>`: Set the containers network MTU 993 - :nerd_face: `--opt=mtu=<MTU>`: Alias of `--opt=com.docker.network.driver.mtu=<MTU>` 994 - :whale: `--opt=macvlan_mode=(bridge)>`: Set macvlan network mode (default: bridge) 995 - :whale: `--opt=ipvlan_mode=(l2|l3)`: Set IPvlan network mode (default: l2) 996 - :nerd_face: `--opt=mode=(bridge|l2|l3)`: Alias of `--opt=macvlan_mode=(bridge)` and `--opt=ipvlan_mode=(l2|l3)` 997 - :whale: `--opt=parent=<INTERFACE>`: Set valid parent interface on host 998 - :whale: `--ipam-driver=(default|host-local|dhcp)`: IP Address Management Driver 999 - :whale: :blue_square: `--ipam-driver=default`: Default IPAM driver 1000 - :nerd_face: `--ipam-driver=host-local`: Host-local IPAM driver for unix 1001 - :nerd_face: `--ipam-driver=dhcp`: DHCP IPAM driver for unix, requires root 1002 - :whale: `--ipam-opt`: Set IPAM driver specific options 1003 - :whale: `--subnet`: Subnet in CIDR format that represents a network segment, e.g. "10.5.0.0/16" 1004 - :whale: `--gateway`: Gateway for the master subnet 1005 - :whale: `--ip-range`: Allocate container ip from a sub-range 1006 - :whale: `--label`: Set metadata on a network 1007 - :whale: `--ipv6`: Enable IPv6. Should be used with a valid subnet. 1008 1009 Unimplemented `docker network create` flags: `--attachable`, `--aux-address`, `--config-from`, `--config-only`, `--ingress`, `--internal`, `--scope` 1010 1011 ### :whale: nerdctl network ls 1012 1013 List networks 1014 1015 Usage: `nerdctl network ls [OPTIONS]` 1016 1017 Flags: 1018 1019 - :whale: `-q, --quiet`: Only display network IDs 1020 - :whale: `--format`: Format the output using the given Go template 1021 - :whale: `--format=table` (default): Table 1022 - :whale: `--format='{{json .}}'`: JSON 1023 - :nerd_face: `--format=wide`: Alias of `--format=table` 1024 - :nerd_face: `--format=json`: Alias of `--format='{{json .}}'` 1025 1026 Unimplemented `docker network ls` flags: `--no-trunc` 1027 1028 ### :whale: nerdctl network inspect 1029 1030 Display detailed information on one or more networks 1031 1032 Usage: `nerdctl network inspect [OPTIONS] NETWORK [NETWORK...]` 1033 1034 Flags: 1035 1036 - :whale: `--format`: Format the output using the given Go template, e.g, `{{json .}}` 1037 - :nerd_face: `--mode=(dockercompat|native)`: Inspection mode. "native" produces more information. 1038 1039 Unimplemented `docker network inspect` flags: `--verbose` 1040 1041 ### :whale: nerdctl network rm 1042 1043 Remove one or more networks by name or identifier 1044 1045 :warning network removal will fail if there are containers attached to it. 1046 1047 Usage: `nerdctl network rm NETWORK [NETWORK...]` 1048 1049 ### :whale: nerdctl network prune 1050 1051 Remove all unused networks 1052 1053 Usage: `nerdctl network prune [OPTIONS]` 1054 1055 Flags: 1056 1057 - :whale: `-f, --force`: Do not prompt for confirmation 1058 1059 Unimplemented `docker network prune` flags: `--filter` 1060 1061 ## Volume management 1062 1063 ### :whale: nerdctl volume create 1064 1065 Create a volume 1066 1067 Usage: `nerdctl volume create [OPTIONS] [VOLUME]` 1068 1069 Flags: 1070 1071 - :whale: `--label`: Set metadata for a volume 1072 1073 Unimplemented `docker volume create` flags: `--driver`, `--opt` 1074 1075 ### :whale: nerdctl volume ls 1076 1077 List volumes 1078 1079 Usage: `nerdctl volume ls [OPTIONS]` 1080 1081 Flags: 1082 1083 - :whale: `-q, --quiet`: Only display volume names 1084 - :whale: `--format`: Format the output using the given Go template 1085 - :whale: `--format=table` (default): Table 1086 - :whale: `--format='{{json .}}'`: JSON 1087 - :nerd_face: `--format=wide`: Alias of `--format=table` 1088 - :nerd_face: `--format=json`: Alias of `--format='{{json .}}'` 1089 - :nerd_face: `--size`: Display the disk usage of volumes. 1090 - :whale: `-f, --filter`: Filter volumes based on given conditions. 1091 - :whale: `--filter label=<key>=<value>`: Matches volumes by label on both 1092 `key` and `value`. If `value` is left empty, matches all volumes with `key` 1093 regardless of its value 1094 - :whale: `--filter name=<value>`: Matches all volumes with a name containing 1095 the `value` string 1096 - :nerd_face: `--filter "size=<value>"`: Matches all volumes with a size 1097 meets the `value`. `size` operand can be `>=, <=, >, <, =` and `value` must be 1098 an integer. Quotes should be used otherwise some shells may treat operand as 1099 redirections 1100 1101 Following arguments for `--filter` are not supported yet: 1102 1103 1. `--filter=dangling=true`: Filter volumes by dangling 1104 2. `--filter=driver=local`: Filter volumes by driver 1105 1106 ### :whale: nerdctl volume inspect 1107 1108 Display detailed information on one or more volumes 1109 1110 Usage: `nerdctl volume inspect [OPTIONS] VOLUME [VOLUME...]` 1111 1112 Flags: 1113 1114 - :whale: `--format`: Format the output using the given Go template, e.g, `{{json .}}` 1115 - :nerd_face: `--size`: Displays disk usage of volume 1116 1117 ### :whale: nerdctl volume rm 1118 1119 Remove one or more volumes 1120 1121 Usage: `nerdctl volume rm [OPTIONS] VOLUME [VOLUME...]` 1122 1123 - :whale: `-f, --force`: Force the removal of one or more volumes 1124 1125 ### :whale: nerdctl volume prune 1126 1127 Remove all unused local volumes 1128 1129 Usage: `nerdctl volume prune [OPTIONS]` 1130 1131 Flags: 1132 1133 - :whale: `-f, --force`: Do not prompt for confirmation 1134 1135 Unimplemented `docker volume prune` flags: `--filter` 1136 1137 ## Namespace management 1138 1139 ### :nerd_face: :blue_square: nerdctl namespace create 1140 1141 Create a new namespace. 1142 1143 Usage: `nerdctl namespace create NAMESPACE` 1144 Flags: 1145 1146 - `--label`: Set labels for a namespace 1147 1148 ### :nerd_face: :blue_square: nerdctl namespace inspect 1149 1150 Inspect a namespace. 1151 1152 Usage: `nerdctl namespace inspect NAMESPACE` 1153 1154 ### :nerd_face: :blue_square: nerdctl namespace ls 1155 1156 List containerd namespaces such as "default", "moby", or "k8s.io". 1157 1158 Usage: `nerdctl namespace ls [OPTIONS]` 1159 1160 Flags: 1161 1162 - `-q, --quiet`: Only display namespace names 1163 1164 ### :nerd_face: :blue_square: nerdctl namespace remove 1165 1166 Remove one or more namespaces. 1167 1168 Usage: `nerdctl namespace remove [OPTIONS] NAMESPACE [NAMESPACE...]` 1169 1170 Flags: 1171 1172 - `-c, --cgroup`: delete the namespace's cgroup 1173 1174 ### :nerd_face: :blue_square: nerdctl namespace update 1175 1176 Update labels for a namespace. 1177 1178 Usage: `nerdctl namespace update NAMESPACE` 1179 1180 Flags: 1181 1182 - `--label`: Set labels for a namespace 1183 1184 ## AppArmor profile management 1185 1186 ### :nerd_face: nerdctl apparmor inspect 1187 1188 Display the default AppArmor profile "nerdctl-default". Other profiles cannot be displayed with this command. 1189 1190 Usage: `nerdctl apparmor inspect` 1191 1192 ### :nerd_face: nerdctl apparmor load 1193 1194 Load the default AppArmor profile "nerdctl-default". Requires root. 1195 1196 Usage: `nerdctl apparmor load` 1197 1198 ### :nerd_face: nerdctl apparmor ls 1199 1200 List the loaded AppArmor profile 1201 1202 Usage: `nerdctl apparmor ls [OPTIONS]` 1203 1204 Flags: 1205 1206 - `-q, --quiet`: Only display volume names 1207 - `--format`: Format the output using the given Go template, e.g, `{{json .}}` 1208 1209 ### :nerd_face: nerdctl apparmor unload 1210 1211 Unload an AppArmor profile. The target profile name defaults to "nerdctl-default". Requires root. 1212 1213 Usage: `nerdctl apparmor unload [PROFILE]` 1214 1215 ## Builder management 1216 1217 ### :whale: nerdctl builder prune 1218 1219 Clean up BuildKit build cache. 1220 1221 :warning: The output format is not compatible with Docker. 1222 1223 Usage: `nerdctl builder prune` 1224 1225 Flags: 1226 1227 - :nerd_face: `--buildkit-host=<BUILDKIT_HOST>`: BuildKit address 1228 1229 ### :nerd_face: nerdctl builder debug 1230 1231 Interactive debugging of Dockerfile using [buildg](https://github.com/ktock/buildg). 1232 Please refer to [`./builder-debug.md`](./builder-debug.md) for details. 1233 This is an [experimental](./experimental.md) feature. 1234 1235 :warning: This command currently doesn't use the host's `buildkitd` daemon but uses the patched version of BuildKit provided by buildg. This should be fixed in the future. 1236 1237 Usage: `nerdctl builder debug PATH` 1238 1239 Flags: 1240 1241 - :nerd_face: `-f`, `--file`: Name of the Dockerfile 1242 - :nerd_face: `--image`: Image to use for debugging stage 1243 - :nerd_face: `--target`: Set the target build stage to build 1244 - :nerd_face: `--build-arg`: Set build-time variables 1245 1246 Unimplemented `docker builder prune` flags: `--all`, `--filter`, `--force`, `--keep-storage` 1247 1248 ## System 1249 1250 ### :whale: nerdctl events 1251 1252 Get real time events from the server. 1253 1254 :warning: The output format is not compatible with Docker. 1255 1256 Usage: `nerdctl events [OPTIONS]` 1257 1258 Flags: 1259 1260 - :whale: `--format`: Format the output using the given Go template, e.g, `{{json .}}` 1261 - :whale: `-f, --filter`: Filter containers based on given conditions 1262 - :whale: `--filter event=<value>`: Event's status. Start is the only supported status. 1263 1264 Unimplemented `docker events` flags: `--since`, `--until` 1265 1266 ### :whale: nerdctl info 1267 1268 Display system-wide information 1269 1270 Usage: `nerdctl info [OPTIONS]` 1271 1272 Flags: 1273 1274 - :whale: `-f, --format`: Format the output using the given Go template, e.g, `{{json .}}` 1275 - :nerd_face: `--mode=(dockercompat|native)`: Information mode. "native" produces more information. 1276 1277 ### :whale: nerdctl version 1278 1279 Show the nerdctl version information 1280 1281 Usage: `nerdctl version [OPTIONS]` 1282 1283 Flags: 1284 1285 - :whale: `-f, --format`: Format the output using the given Go template, e.g, `{{json .}}` 1286 1287 ### :whale: nerdctl system prune 1288 1289 Remove unused data 1290 1291 Usage: `nerdctl system prune [OPTIONS]` 1292 1293 Flags: 1294 1295 - :whale: `-a, --all`: Remove all unused images, not just dangling ones 1296 - :whale: `-f, --force`: Do not prompt for confirmation 1297 - :whale: `--volumes`: Prune volumes 1298 1299 Unimplemented `docker system prune` flags: `--filter` 1300 1301 ## Stats 1302 1303 ### :whale: nerdctl stats 1304 1305 Display a live stream of container(s) resource usage statistics. 1306 1307 Usage: `nerdctl stats [OPTIONS]` 1308 1309 Flags: 1310 1311 - :whale: `-a, --all`: Show all containers (default shows just running) 1312 - :whale: `--format=FORMAT`: Pretty-print images using a Go template, e.g., `{{json .}}` 1313 - :whale: `--no-stream`: Disable streaming stats and only pull the first result 1314 - :whale: `--no-trunc`: Do not truncate output 1315 1316 ### :whale: nerdctl top 1317 1318 Display the running processes of a container. 1319 1320 Usage: `nerdctl top CONTAINER [ps OPTIONS]` 1321 1322 ## Shell completion 1323 1324 ### :nerd_face: nerdctl completion bash 1325 1326 Generate the autocompletion script for bash. 1327 1328 Usage: add the following line to `~/.bash_profile`: 1329 1330 ```bash 1331 source <(nerdctl completion bash) 1332 ``` 1333 1334 Or run `nerdctl completion bash > /etc/bash_completion.d/nerdctl` as the root. 1335 1336 ### :nerd_face: nerdctl completion zsh 1337 1338 Generate the autocompletion script for zsh. 1339 1340 Usage: see `nerdctl completion zsh --help` 1341 1342 ### :nerd_face: nerdctl completion fish 1343 1344 Generate the autocompletion script for fish. 1345 1346 Usage: see `nerdctl completion fish --help` 1347 1348 ### :nerd_face: nerdctl completion powershell 1349 1350 Generate the autocompletion script for powershell. 1351 1352 Usage: see `nerdctl completion powershell --help` 1353 1354 ## Compose 1355 1356 ### :whale: nerdctl compose 1357 1358 Compose 1359 1360 Usage: `nerdctl compose [OPTIONS] [COMMAND]` 1361 1362 Flags: 1363 1364 - :whale: `-f, --file`: Specify an alternate compose file 1365 - :whale: `-p, --project-name`: Specify an alternate project name 1366 - :nerd_face: `--ipfs-address`: Multiaddr of IPFS API (default uses `$IPFS_PATH` env variable if defined or local directory `~/.ipfs`) 1367 - :whale: `--profile: Specify a profile to enable 1368 1369 ### :whale: nerdctl compose up 1370 1371 Create and start containers 1372 1373 Usage: `nerdctl compose up [OPTIONS] [SERVICE...]` 1374 1375 Flags: 1376 1377 - :whale: `-d, --detach`: Detached mode: Run containers in the background 1378 - :whale: `--no-build`: Don't build an image, even if it's missing. 1379 - :whale: `--no-color`: Produce monochrome output 1380 - :whale: `--no-log-prefix`: Don't print prefix in logs 1381 - :whale: `--build`: Build images before starting containers. 1382 - :nerd_face: `--ipfs`: Build images with pulling base images from IPFS. See [`ipfs.md`](./ipfs.md) for details. 1383 - :whale: `--quiet-pull`: Pull without printing progress information 1384 - :whale: `--scale`: Scale SERVICE to NUM instances. Overrides the `scale` setting in the Compose file if present. 1385 - :whale: `--remove-orphans`: Remove containers for services not defined in the Compose file 1386 1387 Unimplemented `docker-compose up` (V1) flags: `--no-deps`, `--force-recreate`, `--always-recreate-deps`, `--no-recreate`, 1388 `--no-start`, `--abort-on-container-exit`, `--attach-dependencies`, `--timeout`, `--renew-anon-volumes`, `--exit-code-from` 1389 1390 Unimplemented `docker compose up` (V2) flags: `--environment` 1391 1392 ### :whale: nerdctl compose logs 1393 1394 Create and start containers 1395 1396 Usage: `nerdctl compose logs [OPTIONS] [SERVICE...]` 1397 1398 Flags: 1399 1400 - :whale: `--no-color`: Produce monochrome output 1401 - :whale: `--no-log-prefix`: Don't print prefix in logs 1402 - :whale: `--timestamps`: Show timestamps 1403 - :whale: `--tail`: Number of lines to show from the end of the logs 1404 1405 Unimplemented `docker compose logs` (V2) flags: `--since`, `--until` 1406 1407 ### :whale: nerdctl compose build 1408 1409 Build or rebuild services. 1410 1411 Usage: `nerdctl compose build [OPTIONS] [SERVICE...]` 1412 1413 Flags: 1414 1415 - :whale: `--build-arg`: Set build-time variables for services 1416 - :whale: `--no-cache`: Do not use cache when building the image 1417 - :whale: `--progress`: Set type of progress output (auto, plain, tty). Use plain to show container output 1418 - :nerd_face: `--ipfs`: Build images with pulling base images from IPFS. See [`ipfs.md`](./ipfs.md) for details. 1419 1420 Unimplemented `docker-compose build` (V1) flags: `--compress`, `--force-rm`, `--memory`, `--no-rm`, `--parallel`, `--pull`, `--quiet` 1421 1422 ### :whale: nerdctl compose create 1423 1424 Creates containers for one or more services. 1425 1426 Usage: `nerdctl compose create [OPTIONS] [SERVICE...]` 1427 1428 Flags: 1429 1430 - :whale: `--build`: Build images before starting containers 1431 - :whale: `--force-recreate`: Recreate containers even if their configuration and image haven't changed 1432 - :whale: `--no-build`: Don't build an image even if it's missing, conflict with `--build` 1433 - :whale: `--no-recreate`: Don't recreate containers if they exist, conflict with `--force-recreate` 1434 - :whale: `--pull`: Pull images before running. (support always|missing|never) (default "missing") 1435 1436 ### :whale: nerdctl compose exec 1437 1438 Execute a command on a running container of the service. 1439 1440 Usage: `nerdctl compose exec [OPTIONS] SERVICE COMMAND [ARGS...]` 1441 1442 Flags: 1443 1444 - :whale: `-d, --detach`: Detached mode: Run the command in background 1445 - :whale: `-e, --env`: Set environment variables 1446 - :whale: `--index`: Set index of the container if the service has multiple instances. (default 1) 1447 - :whale: `-i, --interactive`: Keep STDIN open even if not attached (default true) 1448 - :whale: `--privileged`: Give extended privileges to the command 1449 - :whale: `-t, --tty`: Allocate a pseudo-TTY 1450 - :whale: `-T, --no-TTY`: Disable pseudo-TTY allocation. By default nerdctl compose exec allocates a TTY. 1451 - :whale: `-u, --user`: Username or UID (format: `<name|uid>[:<group|gid>]`) 1452 - :whale: `-w, --workdir`: Working directory inside the container 1453 1454 ### :whale: nerdctl compose down 1455 1456 Remove containers and associated resources 1457 1458 Usage: `nerdctl compose down [OPTIONS]` 1459 1460 Flags: 1461 1462 - :whale: `-v, --volumes`: Remove named volumes declared in the volumes section of the Compose file and anonymous volumes attached to containers 1463 - :whale: `--remove-orphans`: Remove containers of services not defined in the Compose file. 1464 1465 Unimplemented `docker-compose down` (V1) flags: `--rmi`, `--timeout` 1466 1467 ### :whale: nerdctl compose images 1468 1469 List images used by created containers in services 1470 1471 Usage: `nerdctl compose images [OPTIONS] [SERVICE...]` 1472 1473 Flags: 1474 1475 - :whale: `-q, --quiet`: Only show numeric image IDs 1476 1477 ### :whale: nerdctl compose start 1478 1479 Start existing containers for service(s) 1480 1481 Usage: `nerdctl compose start [SERVICE...]` 1482 1483 ### :whale: nerdctl compose stop 1484 1485 Stop containers in services without removing them. 1486 1487 Usage: `nerdctl compose stop [OPTIONS] [SERVICE...]` 1488 1489 Flags: 1490 1491 - :whale: `-t, --timeout`: Seconds to wait for stop before killing it (default 10) 1492 1493 ### :whale: nerdctl compose port 1494 1495 Print the public port for a port binding of a service container 1496 1497 Usage: `nerdctl compose port [OPTIONS] SERVICE PRIVATE_PORT` 1498 1499 Flags: 1500 1501 - :whale: `--index`: Index of the container if the service has multiple instances. (default 1) 1502 - :whale: `--protocol`: Protocol of the port (tcp|udp) (default "tcp") 1503 1504 ### :whale: nerdctl compose ps 1505 1506 List containers of services 1507 1508 Usage: `nerdctl compose ps [OPTIONS] [SERVICE...]` 1509 1510 - :whale: `-a, --all`: Show all containers (default shows just running) 1511 - :whale: `-q, --quiet`: Only display container IDs 1512 - :whale: `--format`: Format the output 1513 - :whale: `--format=table` (default): Table 1514 - :whale: `--format=json'`: JSON 1515 - :whale: `-f, --filter`: Filter containers based on given conditions 1516 - :whale: `--filter status=<value>`: One of `created, running, paused, 1517 restarting, exited, pausing, unknown`. Note that `removing, dead` are 1518 not supported and will be ignored 1519 - :whale: `--services`: Print the service names, one per line 1520 - :whale: `--status`: Filter containers by status. Values: [paused | restarting | running | created | exited | pausing | unknown] 1521 1522 ### :whale: nerdctl compose pull 1523 1524 Pull service images 1525 1526 Usage: `nerdctl compose pull [OPTIONS] [SERVICE...]` 1527 1528 Flags: 1529 1530 - :whale: `-q, --quiet`: Pull without printing progress information 1531 1532 Unimplemented `docker-compose pull` (V1) flags: `--ignore-pull-failures`, `--parallel`, `--no-parallel`, `include-deps` 1533 1534 ### :whale: nerdctl compose push 1535 1536 Push service images 1537 1538 Usage: `nerdctl compose push [OPTIONS] [SERVICE...]` 1539 1540 Unimplemented `docker-compose pull` (V1) flags: `--ignore-push-failures` 1541 1542 ### :whale: nerdctl compose pause 1543 1544 Pause all processes within containers of service(s). They can be unpaused with `nerdctl compose unpause` 1545 1546 Usage: `nerdctl compose pause [SERVICE...]` 1547 1548 ### :whale: nerdctl compose unpause 1549 1550 Unpause all processes within containers of service(s) 1551 1552 Usage: `nerdctl compose unpause [SERVICE...]` 1553 1554 ### :whale: nerdctl compose config 1555 1556 Validate and view the Compose file 1557 1558 Usage: `nerdctl compose config` 1559 1560 Flags: 1561 1562 - :whale: `-q, --quiet`: Pull without printing progress information 1563 - :whale: `--services`: Print the service names, one per line. 1564 - :whale: `--volumes`: Print the volume names, one per line. 1565 - :whale: `--hash="*"`: Print the service config hash, one per line. 1566 1567 Unimplemented `docker-compose config` (V1) flags: `--resolve-image-digests`, `--no-interpolate` 1568 1569 Unimplemented `docker compose config` (V2) flags: `--resolve-image-digests`, `--no-interpolate`, `--format`, `--output`, `--profiles` 1570 1571 ### :whale: nerdctl compose cp 1572 1573 Copy files/folders between a service container and the local filesystem 1574 1575 Usage: 1576 ``` 1577 nerdctl compose cp [OPTIONS] SERVICE:SRC_PATH DEST_PATH|- 1578 nerdctl compose cp [OPTIONS] SRC_PATH|- SERVICE:DEST_PATH [flags] 1579 ``` 1580 1581 Flags: 1582 - :whale: `--dry-run`: Execute command in dry run mode 1583 - :whale: `-L, --follow-link`: Always follow symbol link in SRC_PATH 1584 - :whale: `--index int`: index of the container if service has multiple replicas 1585 1586 Unimplemented `docker compose cp` flags: `--archive` 1587 1588 ### :whale: nerdctl compose kill 1589 1590 Force stop service containers 1591 1592 Usage: `nerdctl compose kill [OPTIONS] [SERVICE...]` 1593 1594 Flags: 1595 1596 - :whale: `-s, --signal`: SIGNAL to send to the container (default: "SIGKILL") 1597 1598 ### :whale: nerdctl compose restart 1599 1600 Restart containers of given (or all) services 1601 1602 Usage: `nerdctl compose restart [OPTIONS] [SERVICE...]` 1603 1604 Flags: 1605 1606 - :whale: `-t, --timeout`: Seconds to wait before restarting it (default 10) 1607 1608 ### :whale: nerdctl compose rm 1609 1610 Remove stopped service containers 1611 1612 Usage: `nerdctl compose rm [OPTIONS] [SERVICE...]` 1613 1614 Flags: 1615 1616 - :whale: `-f, --force`: Don't prompt for confirmation (different with `-f` in `nerdctl rm` which means force deletion). 1617 - :whale: `-s, --stop`: Stop containers before removing. 1618 - :whale: `-v, --volumes`: Remove anonymous volumes associated with the container. 1619 1620 ### :whale: nerdctl compose run 1621 1622 Run a one-off command on a service 1623 1624 Usage: `nerdctl compose run [OPTIONS] SERVICE [COMMAND] [ARGS...]` 1625 1626 Unimplemented `docker-compose run` (V1) flags: `--use-aliases`, `--no-TTY` 1627 1628 Unimplemented `docker compose run` (V2) flags: `--use-aliases`, `--no-TTY`, `--tty` 1629 1630 ### :whale: nerdctl compose top 1631 1632 Display the running processes of service containers 1633 1634 Usage: `nerdctl compose top [SERVICES...]` 1635 1636 ### :whale: nerdctl compose version 1637 1638 Show the Compose version information (which is the nerdctl version) 1639 1640 Usage: `nerdctl compose version` 1641 1642 Flags: 1643 1644 - :whale: `-f, --format`: Format the output. Values: [pretty | json] (default "pretty") 1645 - :whale: `--short`: Shows only Compose's version number 1646 1647 ## IPFS management 1648 1649 P2P image distribution (IPFS) is completely optional. Your host is NOT connected to any P2P network, unless you opt in to [install and run IPFS daemon](https://docs.ipfs.io/install/). 1650 1651 ### :nerd_face: nerdctl ipfs registry serve 1652 1653 Serve read-only registry backed by IPFS on localhost. 1654 This is needed to run `nerdctl build` with pulling base images from IPFS. 1655 Other commands (e.g. `nerdctl push ipfs://<image-name>` and `nerdctl pull ipfs://<CID>`) don't require this. 1656 1657 You need to install `ipfs` command on the host. 1658 See [`ipfs.md`](./ipfs.md) for details. 1659 1660 Usage: `nerdctl ipfs registry serve [OPTIONS]` 1661 1662 Flags: 1663 1664 - :nerd_face: `--ipfs-address`: Multiaddr of IPFS API (default is pulled from `$IPFS_PATH/api` file. If `$IPFS_PATH` env var is not present, it defaults to `~/.ipfs`). 1665 - :nerd_face: `--listen-registry`: Address to listen (default `localhost:5050`). 1666 - :nerd_face: `--read-retry-num`: Times to retry query on IPFS (default 0 (no retry)) 1667 - :nerd_face: `--read-timeout`: Timeout duration of a read request to IPFS (default 0 (no timeout)) 1668 1669 ## Global flags 1670 1671 - :nerd_face: :blue_square: `--address`: containerd address, optionally with "unix://" prefix 1672 - :nerd_face: :blue_square: `-a`, `--host`, `-H`: deprecated aliases of `--address` 1673 - :nerd_face: :blue_square: `--namespace`: containerd namespace 1674 - :nerd_face: :blue_square: `-n`: deprecated alias of `--namespace` 1675 - :nerd_face: :blue_square: `--snapshotter`: containerd snapshotter 1676 - :nerd_face: :blue_square: `--storage-driver`: deprecated alias of `--snapshotter` 1677 - :nerd_face: :blue_square: `--cni-path`: CNI binary path (default: `/opt/cni/bin`) [`$CNI_PATH`] 1678 - :nerd_face: :blue_square: `--cni-netconfpath`: CNI netconf path (default: `/etc/cni/net.d`) [`$NETCONFPATH`] 1679 - :nerd_face: :blue_square: `--data-root`: nerdctl data root, e.g. "/var/lib/nerdctl" 1680 - :nerd_face: `--cgroup-manager=(cgroupfs|systemd|none)`: cgroup manager 1681 - Default: "systemd" on cgroup v2 (rootful & rootless), "cgroupfs" on v1 rootful, "none" on v1 rootless 1682 - :nerd_face: `--insecure-registry`: skips verifying HTTPS certs, and allows falling back to plain HTTP 1683 - :nerd_face: `--host-gateway-ip`: IP address that the special 'host-gateway' string in --add-host resolves to. It has no effect without setting --add-host 1684 - Default: the IP address of the host 1685 1686 The global flags can be also specified in `/etc/nerdctl/nerdctl.toml` (rootful) and `~/.config/nerdctl/nerdctl.toml` (rootless). 1687 See [`./config.md`](./config.md). 1688 1689 ## Unimplemented Docker commands 1690 1691 Container management: 1692 1693 - `docker diff` 1694 - `docker checkpoint *` 1695 1696 Image: 1697 1698 - `docker export` and `docker import` 1699 - `docker trust *` (Instead, nerdctl supports `nerdctl pull --verify=cosign|notation` and `nerdctl push --sign=cosign|notation`. See [`./cosign.md`](./cosign.md) and [`./notation.md`](./notation.md).) 1700 - `docker manifest *` 1701 1702 Network management: 1703 1704 - `docker network connect` 1705 - `docker network disconnect` 1706 1707 Registry: 1708 1709 - `docker search` 1710 1711 Compose: 1712 1713 - `docker-compose events|scale` 1714 1715 Others: 1716 1717 - `docker system df` 1718 - `docker context` 1719 - Swarm commands are unimplemented and will not be implemented: `docker swarm|node|service|config|secret|stack *` 1720 - Plugin commands are unimplemented and will not be implemented: `docker plugin *`