J Logan
58e0ddd948
Revert inadvertent pull platform filtering from #545 . ( #593 )
...
- Reverts an inadvertent "fix" from #545 .
- Closes #592 .
## Type of Change
- [x] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
## Motivation and Context
See #592
## Testing
- [x] Tested locally
- [ ] Added/updated tests
- [ ] Added/updated docs
2025-09-10 10:22:55 -07:00
J Logan
6da5ecf838
Remove images alias for image subcommand. ( #597 )
...
- Closes #596 .
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [x] Breaking change
- [ ] Documentation update
## Motivation and Context
- Part of UX audit #385 .
- All other resource subcommands are singular and have no plural alias.
- `container image` corresponds to `docker image`; `container images`
does not.
## Testing
- [x] Tested locally
- [x] Added/updated tests
- [x] Added/updated docs
2025-09-10 10:06:48 -07:00
J Logan
98402bf4e6
Adds multiple image save to tarfile. ( #560 )
...
## Type of Change
- [ ] Bug fix
- [x] New feature
- [ ] Breaking change
- [ ] Documentation update
## Description
```bash
% container image save -o container.tar python:alpine alpine:latest
Warning! Running debug build. Performance may be degraded.
Image(s) saved
% tar tf container.tar
oci-layout
blobs/
blobs/sha256/
blobs/sha256/02f8efbefad605a169e89926147edd0676646263268f303c6fb3cdfdbc4a9612
blobs/sha256/a4bb08daca6b0385b17761b170fc91b20ab2ec072f70f9260149f8d61846ac13
blobs/sha256/588270f913bc82b4dbeee27bc249e4d314894becd18cccdc13645f669972c91e
blobs/sha256/692b7bac6678f5809640189eb1d95a3277689ec643201c465ecd44e72db7d029
blobs/sha256/1d24a57b1de9b287d9a9e1e231b71a235b836dc1852155b943b927a411d8c394
blobs/sha256/f9841e55dcbf5a6fcc702b25ce6e411ebdcb30680f94afd8060cb20bb20bd75c
blobs/sha256/0b83d017db6efafadf6b3f18d087d2ce1d67d8f0e927dc7254b0ad088074cd3a
blobs/sha256/b2236d9e1563c507613962c1ebbd7b3d307969ec2ee355b781b68440f4f0bee3
blobs/sha256/6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606
blobs/sha256/c879780ac011609647c8714eef9e6490c42bf20128b32f4b31c4daad1242647b
blobs/sha256/26a1da51444d4cbbba3233caa342d0397ac4f93dc8e305e31989fd782b3107da
index.json
% tar -xOf container.tar index.json | python3 -m json.tool
{
"schemaVersion": 2,
"mediaType": "application/vnd.oci.image.index.v1+json",
"manifests": [
{
"mediaType": "application/vnd.oci.image.index.v1+json",
"annotations": {
"org.opencontainers.image.ref.name": "docker.io/library/python:alpine",
"io.containerd.image.name": "docker.io/library/python:alpine",
"com.apple.containerization.image.name": "docker.io/library/python:alpine"
},
"size": 944,
"digest": "sha256:1d24a57b1de9b287d9a9e1e231b71a235b836dc1852155b943b927a411d8c394"
},
{
"mediaType": "application/vnd.oci.image.index.v1+json",
"annotations": {
"io.containerd.image.name": "docker.io/library/alpine:latest",
"org.opencontainers.image.ref.name": "docker.io/library/alpine:latest",
"com.apple.containerization.image.name": "docker.io/library/alpine:latest"
},
"size": 497,
"digest": "sha256:692b7bac6678f5809640189eb1d95a3277689ec643201c465ecd44e72db7d029"
}
]
}
```
## Motivation and Context
`image load` can read multiple images from a tar file, but `image save`
cannot save multiple images today.
## Testing
- [x] Tested locally
- [ ] Added/updated tests (TODO: roundtrip test pull-save-rm-load)
- [ ] Added/updated docs (TODO: check command reference)
2025-09-09 16:46:18 -07:00
J Logan
a8c779fd65
Uniform support for --platform, --os, --arch. ( #545 )
...
- Fixes #231 .
- Extends #313 (@dcantah) so that all of `container create`, `container
run`, `container build`, `container image pull`, and `container image
save` accept the three options.
- `container build` now processes comma-separated lists for
`--platform`, `--arch`, and `--os`. It first checks `--platform`,
assembling the union of all platform values. If that set is non-empty,
the builder builds the values in the set. Otherwise, the set consists of
all combinations of the specified architecture and os values, finally
defaulting to `linux` and the host architecture if no options are
provided.
- All other commands work accept a single platform, preferring the
`--platform` option over `--arch` and `--os` when both are specified.
`--os` defaults to `linux`, and `--arch` defaults to the host
architecture.
- Clarify help messages and present the args in consistent order, with
platform first since it takes precedence if present.
- Deduplicate redundant platform options for `container build`.
2025-08-27 13:26:01 -07:00
Kathryn Baldauf
c0fccc0ef6
Update broken test ( #2 )
...
Signed-off-by: Kathryn Baldauf <k_baldauf@apple.com >
2025-06-05 15:52:20 -07:00
Kathryn Baldauf
31a0cb2f4e
Update alpine images used ( #1 )
...
Signed-off-by: Kathryn Baldauf <k_baldauf@apple.com >
2025-06-05 15:52:13 -07:00
Kathryn Baldauf
8e9670c8f8
Initial commit
...
Co-authored-by: Aditya Ramani <a_ramani@apple.com >
Co-authored-by: Agam Dua <agam_dua@apple.com >
Co-authored-by: Danny Canter <danny_canter@apple.com >
Co-authored-by: Dmitry Kovba <dkovba@apple.com >
Co-authored-by: Eric Ernst <eric_ernst@apple.com >
Co-authored-by: Evan Hazlett <ehazlett@apple.com >
Co-authored-by: Gilbert Song <gilbertsong@apple.com >
Co-authored-by: Hugh Bussell <hbussell@apple.com >
Co-authored-by: John Logan <john_logan@apple.com >
Co-authored-by: Kathryn Baldauf <k_baldauf@apple.com >
Co-authored-by: Madhu Venugopal <mvenugopal@apple.com >
Co-authored-by: Michael Crosby <michael_crosby@apple.com >
Co-authored-by: Sidhartha Mani <sidhartha_mani@apple.com >
Co-authored-by: Tanweer Noor <tnoor@apple.com >
Co-authored-by: Ximena Perez Diaz <xperez528@gmail.com >
Co-authored-by: Yibo Zhuang <yzhuang@apple.com >
2025-06-05 15:51:55 -07:00