You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`container` is an application that you can use to create and run Linux containers as lightweight virtual machines on your Mac. It's written in Swift, and optimized for Apple silicon.
4
+
`container` is a tool that you can use to create and run Linux containers as lightweight virtual machines on your Mac. It's written in Swift, and optimized for Apple silicon.
5
5
6
-
The application consumes and produces OCI-compliant container images, so you can pull and run images from any standard container registry. You can push images that you build to those registries as well, and run the images in any other OCI-compliant application.
6
+
The tool consumes and produces OCI-compliant container images, so you can pull and run images from any standard container registry. You can push images that you build to those registries as well, and run the images in any other OCI-compliant application.
7
7
8
-
`container` uses the [Containerization](https://github.com/apple/containerization) Swift package for low level container, image and process management.
8
+
`container` uses the [Containerization](https://github.com/apple/containerization) Swift package for low level container, image, and process management.
9
9
10
10

11
11
12
12
## Get started
13
13
14
-
Install the `container` application on your Mac.
14
+
Install `container` on your Mac.
15
15
16
16
### Requirements
17
17
18
-
You need an Apple silicon Mac to run `container`. To build the application, see the [BUILDING](./BUILDING.md) document.
18
+
You need an Apple silicon Mac to run `container`. To build it, see the [BUILDING](./BUILDING.md) document.
19
19
20
-
`container` is designed to take advantage of the features of the macOS 16 Developer Preview. You can run the application on macOS Sequoia, but the `container` maintainers typically will not address Sequoia issues that cannot be reproduced on the macOS 16 Developer Preview.
20
+
`container` is designed to use the new features in the macOS Developer Preview. You can run the tool on macOS Sequoia 15, but the `container` maintainers typically will not address issues discovered on macOS Sequoia 15 that cannot be reproduced on the macOS Developer Preview.
21
21
22
-
There are [significant networking limitations](https://github.com/apple/container#macos-sequoia-limitations) that impact the usability `container` on macOS Sequoia.
22
+
There are [significant networking limitations](/docs/technical-overview.md#macos-sequoia-15-limitations) that impact the usability `container` on macOS Sequoia 15.
23
23
24
24
### Install or upgrade
25
25
@@ -29,13 +29,13 @@ If you're upgrading, first uninstall your existing `container` while preserving
29
29
uninstall-container.sh -k
30
30
```
31
31
32
-
Download the latest application installer package from the [Github release page](https://github.com/apple/container/releases).
32
+
Download the latest installer package for `container` from the [Github release page](https://github.com/apple/container/releases).
33
33
34
-
To install the application, double click the package file and follow the instructions. Enter your administrator password when prompted to give the installer permission to place the application under `/usr/local`.
34
+
To install the tool, double click the package file and follow the instructions. Enter your administrator password when prompted, to give the installer permission to place the installed files under `/usr/local`.
35
35
36
36
### Uninstall
37
37
38
-
Use the `uninstall-container.sh` script to remove the application from your system. To remove your user data along with the application, run:
38
+
Use the `uninstall-container.sh` script to remove `container`from your system. To remove your user data along with the tool, run:
39
39
40
40
```bash
41
41
uninstall-container.sh -d
@@ -52,8 +52,8 @@ uninstall-container.sh -k
52
52
- Take [a guided tour of `container`](./docs/tutorial.md) by building, running, and publishing a simple web server image.
53
53
- Learn how to [use various `container` features](./docs/how-to.md).
54
54
- Read a brief description and [technical overview](./docs/technical-overview.md) of `container`.
55
+
- View the project [API documentation](https://pages.github.com/apple/container/).
55
56
56
57
## Contributing
57
58
58
-
Contributions to Containerization are welcomed and encouraged. Please see our [main contributing guide](https://github.com/apple/containerization/blob/main/CONTRIBUTING.md) for more information.
59
-
59
+
Contributions to `container` are welcomed and encouraged. Please see our [main contributing guide](https://github.com/apple/containerization/blob/main/CONTRIBUTING.md) for more information.
Copy file name to clipboardExpand all lines: docs/how-to.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,15 +4,15 @@ How to use the features of `container`.
4
4
5
5
## Configure memory and CPUs for your containers
6
6
7
-
Since the containers created by `container` are lightweight virtual machines, you need to consider the needs of your containerized application when you `container run` a container. The `--memory` and `--cpus` options allow you to override the default memory and CPU limits for the virtual machine. The default values are 1 gigabyte of RAM and 4 CPUs. You can use abbreviations for memory units; for example, to run a container for image `big` with 8 CPUs and 32 gigabytes of memory, use:
7
+
Since the containers created by `container` are lightweight virtual machines, consider the needs of your containerized application when you use `container run`. The `--memory` and `--cpus` options allow you to override the default memory and CPU limits for the virtual machine. The default values are 1 gigabyte of RAM and 4 CPUs. You can use abbreviations for memory units; for example, to run a container for image `big` with 8 CPUs and 32 gigabytes of memory, use:
8
8
9
9
```bash
10
10
container run --rm --cpus 8 --memory 32g big
11
11
```
12
12
13
13
## Configure memory and CPUs for large builds
14
14
15
-
When you first run `container build`, `container` starts a *builder*, which is a utility container that performs image build. As with anything you run with `container run`, the builder runs in a lightweight virtual machine, so for resource-intensive builds, you may need to increase the memory and CPU limits for the builder VM.
15
+
When you first run `container build`, `container` starts a *builder*, which is a utility container that builds images from your `Dockerfile`s. As with anything you run with `container run`, the builder runs in a lightweight virtual machine, so for resource-intensive builds, you may need to increase the memory and CPU limits for the builder VM.
16
16
17
17
By default, the builder VM receives 2 gigabytes of RAM and 2 CPUs. You can change these limits by starting the builder container before running `container build`:
18
18
@@ -46,7 +46,7 @@ total 4
46
46
47
47
The argument to `--volume` in the example consists of the full pathname for the host folder and the full pathname for the mount point in the container, separated by a colon.
48
48
49
-
The `--mount` option uses a commaseparated `key=value` syntax to achieve the same result:
49
+
The `--mount` option uses a comma-separated `key=value` syntax to achieve the same result:
50
50
51
51
```shellsession
52
52
% container run --mount source=${HOME}/Desktop/assets,target=/content/assets docker.io/python:slim ls -l /content/assets
@@ -57,9 +57,9 @@ total 4
57
57
58
58
## Build and run a multiplatform image
59
59
60
-
Using the [project from the tutorial example](/documentation/tutorial/#set-up-a-simple-project), you can create an image to use both on Apple Silicon Macs and on AMD64 servers.
60
+
Using the [project from the tutorial example](/documentation/tutorial/#set-up-a-simple-project), you can create an image to use both on Apple silicon Macs and on x86-64 servers.
61
61
62
-
When building the image, just add `--arch` options that directs the builder to create an image supporting both the `arm64` and `amd64` architectures:
62
+
When building the image, just add `--arch` options that direct the builder to create an image supporting both the `arm64` and `amd64` architectures:
@@ -73,7 +73,7 @@ Linux 7932ce5f-ec10-4fbe-a2dc-f29129a86b64 6.1.68 #1 SMP Mon Mar 31 18:27:51 UTC
73
73
%
74
74
```
75
75
76
-
When you run the command with the `amd64` architecture, the AMD64 version of `uname`of Python using Rosetta translation, so that you will see information for an AMD64 system:
76
+
When you run the command with the `amd64` architecture, the x86-64 version of `uname`runs under Rosetta translation, so that you will see information for an x86-64 system:
77
77
78
78
```shellsession
79
79
container run --arch amd64 --rm registry.example.com/fido/web-test:latest uname -a
0 commit comments