v1.5.0
-
nerdctl compose
now emulates Docker Compose v2.
This change affects internal container names, e.g.,example_wordpress_1
→example-wordpress-1
. (#1644)
Changes
-
nerdctl run
:- Support lazy-pulling with SOCI (#2347, thanks to @CodeChanning @ningziwen)
- Add
--detach-keys
flag (#2128, thanks to @davidhsingyuchen) - Add
--volumes-from
flag (#2241, thanks to @ningziwen) - Fix a conflict on TCP port 49154 (#2263, thanks to @tces1)
-
nerdctl create
,nerdctl update
,nerdctl kill
: -
nerdctl network create
: -
nerdctl cp
: -
nerdctl push
:- Fix concurrent push (#2404, thanks to @zhenxuanxin)
-
nerdctl build
: -
nerdctl compose
:- Emulate Docker Compose v2 (#1644, thanks to @djdongjin)
- Support
shm_size
(#2267, thanks to @surenkov) - Support build secrets (#2278, thanks to @andrewbelu)
- Support
replicas = 0
(#2361, thanks to @yankay)
-
nerdctl-full
:- Update BuildKit (0.12.0), containerd (1.7.3), runc (1.1.8), Kubo (0.21.0) (#2734, #2401, thanks to @ginglis13)
Full changes: https://github.com/containerd/nerdctl/issues?q=is%3Aclosed+milestone%3Av1.5.0
Thanks to @CodeChanning @andrewbelu @austinvazquez @aznashwan @davidhsingyuchen @djdongjin @fahedouch @ginglis13 @ktock @mook-as @ningziwen @sbuckfelder @surenkov @suyanhanx @tces1 @vsiravar @weikequ @yankay @yldoge @zhenxuanxin
Compatible containerd versions
This release of nerdctl is expected to be used with containerd v1.6 or v1.7.
About the binaries
- Minimal (
nerdctl-1.5.0-linux-amd64.tar.gz
): nerdctl only - Full (
nerdctl-full-1.5.0-linux-amd64.tar.gz
): Includes dependencies such as containerd, runc, and CNI
Minimal
Extract the archive to a path like /usr/local/bin
or ~/bin
.
tar Cxzvvf /usr/local/bin nerdctl-1.5.0-linux-amd64.tar.gz
-rwxr-xr-x root/root 24543232 2023-07-31 10:52 nerdctl
-rwxr-xr-x root/root 21622 2023-07-31 10:51 containerd-rootless-setuptool.sh
-rwxr-xr-x root/root 7187 2023-07-31 10:51 containerd-rootless.sh
Full
Extract the archive to a path like /usr/local
or ~/.local
.
tar Cxzvvf /usr/local nerdctl-full-1.5.0-linux-amd64.tar.gz
drwxr-xr-x 0/0 0 2023-07-31 11:02 bin/
-rwxr-xr-x 0/0 27632916 2015-10-21 00:00 bin/buildctl
-rwxr-xr-x 0/0 23724032 2022-09-05 09:52 bin/buildg
-rwxr-xr-x 0/0 53356944 2015-10-21 00:00 bin/buildkitd
-rwxr-xr-x 0/0 3696856 2023-07-31 10:58 bin/bypass4netns
-rwxr-xr-x 0/0 5242880 2023-07-31 10:59 bin/bypass4netnsd
-rwxr-xr-x 0/0 57950744 2023-07-31 11:00 bin/containerd
-rwxr-xr-x 0/0 10432512 2023-05-11 08:23 bin/containerd-fuse-overlayfs-grpc
-rwxr-xr-x 0/0 21622 2023-07-31 11:00 bin/containerd-rootless-setuptool.sh
-rwxr-xr-x 0/0 7187 2023-07-31 11:00 bin/containerd-rootless.sh
-rwxr-xr-x 0/0 12374016 2023-07-31 11:01 bin/containerd-shim-runc-v2
-rwxr-xr-x 0/0 59637768 2023-03-08 10:08 bin/containerd-stargz-grpc
-rwxr-xr-x 0/0 20603375 2023-07-31 11:02 bin/ctd-decoder
-rwxr-xr-x 0/0 28951224 2023-07-31 11:00 bin/ctr
-rwxr-xr-x 0/0 29257695 2023-07-31 11:02 bin/ctr-enc
-rwxr-xr-x 0/0 26664136 2023-03-08 10:08 bin/ctr-remote
-rwxr-xr-x 0/0 1785384 2023-07-31 11:02 bin/fuse-overlayfs
-rwxr-xr-x 0/0 83672728 2023-07-03 08:56 bin/ipfs
-rwxr-xr-x 0/0 24514560 2023-07-31 11:00 bin/nerdctl
-rwxr-xr-x 0/0 9847163 2022-11-15 11:19 bin/rootlessctl
-rwxr-xr-x 0/0 11311662 2022-11-15 11:19 bin/rootlesskit
-rwxr-xr-x 0/0 14716256 2023-07-31 10:59 bin/runc
-rwxr-xr-x 0/0 2338128 2023-07-31 11:02 bin/slirp4netns
-rwxr-xr-x 0/0 870496 2023-07-31 11:02 bin/tini
drwxr-xr-x 0/0 0 2023-07-31 11:01 lib/
drwxr-xr-x 0/0 0 2023-07-31 11:01 lib/systemd/
drwxr-xr-x 0/0 0 2023-07-31 11:01 lib/systemd/system/
-rw-r--r-- 0/0 1475 2023-07-31 11:01 lib/systemd/system/buildkit.service
-rw-r--r-- 0/0 1414 2023-07-31 10:58 lib/systemd/system/containerd.service
-rw-r--r-- 0/0 312 2023-07-31 11:01 lib/systemd/system/stargz-snapshotter.service
drwxr-xr-x 0/0 0 2023-07-31 11:01 libexec/
drwxrwxr-x 0/0 0 2023-07-31 11:01 libexec/cni/
-rwxr-xr-x 0/0 4016001 2023-05-09 19:53 libexec/cni/bandwidth
-rwxr-xr-x 0/0 4531309 2023-05-09 19:53 libexec/cni/bridge
-rwxr-xr-x 0/0 10816051 2023-05-09 19:53 libexec/cni/dhcp
-rwxr-xr-x 0/0 4171248 2023-05-09 19:53 libexec/cni/dummy
-rwxr-xr-x 0/0 4649749 2023-05-09 19:53 libexec/cni/firewall
-rwxr-xr-x 0/0 4059321 2023-05-09 19:53 libexec/cni/host-device
-rwxr-xr-x 0/0 3444776 2023-05-09 19:53 libexec/cni/host-local
-rwxr-xr-x 0/0 4193323 2023-05-09 19:53 libexec/cni/ipvlan
-rwxr-xr-x 0/0 3514598 2023-05-09 19:53 libexec/cni/loopback
-rwxr-xr-x 0/0 4227193 2023-05-09 19:53 libexec/cni/macvlan
-rwxr-xr-x 0/0 3955775 2023-05-09 19:53 libexec/cni/portmap
-rwxr-xr-x 0/0 4348835 2023-05-09 19:53 libexec/cni/ptp
-rwxr-xr-x 0/0 3716095 2023-05-09 19:53 libexec/cni/sbr
-rwxr-xr-x 0/0 2984504 2023-05-09 19:53 libexec/cni/static
-rwxr-xr-x 0/0 4258344 2023-05-09 19:53 libexec/cni/tap
-rwxr-xr-x 0/0 3603365 2023-05-09 19:53 libexec/cni/tuning
-rwxr-xr-x 0/0 4187498 2023-05-09 19:53 libexec/cni/vlan
-rwxr-xr-x 0/0 3754911 2023-05-09 19:53 libexec/cni/vrf
drwxr-xr-x 0/0 0 2023-07-31 11:00 share/
drwxr-xr-x 0/0 0 2023-07-31 11:00 share/doc/
drwxr-xr-x 0/0 0 2023-07-31 11:00 share/doc/nerdctl/
-rw-r--r-- 0/0 12358 2023-07-31 10:51 share/doc/nerdctl/README.md
drwxr-xr-x 0/0 0 2023-07-31 11:00 share/doc/nerdctl/docs/
-rw-r--r-- 0/0 3953 2023-07-31 10:51 share/doc/nerdctl/docs/build.md
-rw-r--r-- 0/0 2570 2023-07-31 10:51 share/doc/nerdctl/docs/builder-debug.md
-rw-r--r-- 0/0 3996 2023-07-31 10:51 share/doc/nerdctl/docs/cni.md
-rw-r--r-- 0/0 70914 2023-07-31 10:51 share/doc/nerdctl/docs/command-reference.md
-rw-r--r-- 0/0 1846 2023-07-31 10:51 share/doc/nerdctl/docs/compose.md
-rw-r--r-- 0/0 5329 2023-07-31 10:51 share/doc/nerdctl/docs/config.md
-rw-r--r-- 0/0 9128 2023-07-31 10:51 share/doc/nerdctl/docs/cosign.md
-rw-r--r-- 0/0 2435 2023-07-31 10:51 share/doc/nerdctl/docs/dir.md
-rw-r--r-- 0/0 906 2023-07-31 10:51 share/doc/nerdctl/docs/experimental.md
-rw-r--r-- 0/0 14217 2023-07-31 10:51 share/doc/nerdctl/docs/faq.md
-rw-r--r-- 0/0 1197 2023-07-31 10:51 share/doc/nerdctl/docs/freebsd.md
-rw-r--r-- 0/0 2439 2023-07-31 10:51 share/doc/nerdctl/docs/gpu.md
-rw-r--r-- 0/0 14463 2023-07-31 10:51 share/doc/nerdctl/docs/ipfs.md
-rw-r--r-- 0/0 1748 2023-07-31 10:51 share/doc/nerdctl/docs/multi-platform.md
-rw-r--r-- 0/0 2936 2023-07-31 10:51 share/doc/nerdctl/docs/notation.md
-rw-r--r-- 0/0 2596 2023-07-31 10:51 share/doc/nerdctl/docs/nydus.md
-rw-r--r-- 0/0 3277 2023-07-31 10:51 share/doc/nerdctl/docs/ocicrypt.md
-rw-r--r-- 0/0 1876 2023-07-31 10:51 share/doc/nerdctl/docs/overlaybd.md
-rw-r--r-- 0/0 15657 2023-07-31 10:51 share/doc/nerdctl/docs/registry.md
-rw-r--r-- 0/0 5088 2023-07-31 10:51 share/doc/nerdctl/docs/rootless.md
-rw-r--r-- 0/0 10312 2023-07-31 10:51 share/doc/nerdctl/docs/stargz.md
drwxr-xr-x 0/0 0 2023-07-31 11:02 share/doc/nerdctl-full/
-rw-r--r-- 0/0 1151 2023-07-31 11:02 share/doc/nerdctl-full/README.md
-rw-r--r-- 0/0 6201 2023-07-31 11:02 share/doc/nerdctl-full/SHA256SUMS
Included components
See share/doc/nerdctl-full/README.md
:
# nerdctl (full distribution)
- nerdctl: v1.5.0
- containerd: v1.7.3
- runc: v1.1.8
- CNI plugins: v1.3.0
- BuildKit: v0.12.0
- Stargz Snapshotter: v0.14.3
- imgcrypt: v1.1.7
- RootlessKit: v1.1.0
- slirp4netns: v1.2.0
- bypass4netns: v0.3.0
- fuse-overlayfs: v1.12
- containerd-fuse-overlayfs: v1.0.6
- Kubo (IPFS): v0.21.0
- Tini: v0.19.0
- buildg: v0.4.1
## License
- bin/slirp4netns: [GNU GENERAL PUBLIC LICENSE, Version 2](https://github.com/rootless-containers/slirp4netns/blob/v1.2.0/COPYING)
- bin/fuse-overlayfs: [GNU GENERAL PUBLIC LICENSE, Version 2](https://github.com/containers/fuse-overlayfs/blob/v1.12/COPYING)
- bin/ipfs: [Combination of MIT-only license and dual MIT/Apache-2.0 license](https://github.com/ipfs/kubo/blob/v0.21.0/LICENSE)
- bin/{runc,bypass4netns,bypass4netnsd}: Apache License 2.0, statically linked with libseccomp ([LGPL 2.1](https://github.com/seccomp/libseccomp/blob/main/LICENSE), source code available at https://github.com/seccomp/libseccomp/)
- bin/tini: [MIT License](https://github.com/krallin/tini/blob/v0.19.0/LICENSE)
- Other files: [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0)
Quick start
Rootful
$ sudo systemctl enable --now containerd
$ sudo nerdctl run -d --name nginx -p 80:80 nginx:alpine
Rootless
$ containerd-rootless-setuptool.sh install
$ nerdctl run -d --name nginx -p 8080:80 nginx:alpine
Enabling cgroup v2 is highly recommended for rootless mode, see https://rootlesscontaine.rs/getting-started/common/cgroup2/ .
The binaries were built automatically on GitHub Actions.
The build log is available for 90 days: https://github.com/containerd/nerdctl/actions/runs/5713789420
The sha256sum of the SHA256SUMS file itself is ac943770dd4a23c3ff2daa8baa2d3a9daa763a7f08e362f1ed526a21556dc07e
.
Release manager: Akihiro Suda (@AkihiroSuda)