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
Copy file name to clipboardExpand all lines: docs/containers.md
+9-3Lines changed: 9 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,7 +50,7 @@ The network is expected to have the ICP ledger, the cycles ledger, and the cycle
50
50
51
51
The gateway port of the network must be bound to a host port (permitted to be 0). Containerized network configurations can have the following fields:
52
52
53
-
- `port-bindings`: []string, mandatory if an image is specified, in `host:container` format. There must be an entry for the gateway port.
53
+
- `port-mapping`: []string, mandatory if an image is specified, in `host:container` format. There must be an entry for the gateway port.
54
54
- `rm-on-exit`: bool, default false, deletes the container when the network is stopped
55
55
- `args`: []string, appended to the container's entrypoint
56
56
- `entrypoint`: []string, entrypoint executable for the container
@@ -62,6 +62,12 @@ The gateway port of the network must be bound to a host port (permitted to be 0)
62
62
- `shm-size`: uint, size of `/dev/shm` in bytes.
63
63
- `status-dir`: string, default `/app/status`, the status directory mentioned above.
64
64
65
-
## Windows with WSL2 `dockerd`
65
+
## Windows
66
66
67
-
`icp-cli`will automatically integrate with Docker Desktop's support for WSL2; if unconfigured, it should Just Work. However, if you want to use a manually instantiated `dockerd` in a WSL2 instance serving local TCP, you can set `ICP_CLI_DOCKER_WSL2_DISTRO=<distro>` (as well as `DOCKER_HOST=tcp://<ip>:<port>`). Remote containers are not supported since `icp-cli` makes use of bind mounts; for this purpose you can use 'connected' networks instead of 'managed'.
67
+
`icp-cli`automatically integrates with Docker Desktop on Windows (works with both Hyper-V and WSL2 backends). No configuration is needed—it should Just Work.
68
+
69
+
### Advanced: Manual `dockerd` in WSL2
70
+
71
+
If you want to use a manually instantiated `dockerd` in a WSL2 instance (instead of Docker Desktop), you can set:
72
+
- `ICP_CLI_DOCKER_WSL2_DISTRO=<distro>`— the WSL2 distribution name running dockerd
73
+
- `DOCKER_HOST=tcp://<ip>:<port>`— the TCP address where dockerd is listening
The installer adds icp-cli to your PATH automatically. Restart your shell (and if it's inside another program, e.g. the VS Code embedded shell, restart that program too).
78
38
39
+
**Docker requirement:** If you want to run a local test network, you'll need [Docker Desktop](https://docs.docker.com/desktop/setup/install/windows-install/). Docker is only required for local networks—you can build canisters and deploy to mainnet without it.
40
+
79
41
## Verify Installation
80
42
81
43
```bash
@@ -99,13 +61,6 @@ npm install -g ic-mops
99
61
mops toolchain init
100
62
```
101
63
102
-
## Other dependencies
103
-
104
-
### Docker/WSL2 (Windows)
105
-
106
-
On Windows, the local network will be run in a Docker container inside WSL2. It is recommended to install [Docker Desktop](https://www.docker.com/products/docker-desktop/) with WSL2 integration, but a manually run `dockerd` instance is [also supported](docs/containers.md).
107
-
108
-
Docker is also a dependency for projects that manually configure their network to be container-based.
0 commit comments