Skip to content

Commit 980e32e

Browse files
author
nginx
committed
Pre OSS commit
1 parent 9dcff55 commit 980e32e

File tree

3 files changed

+155
-140
lines changed

3 files changed

+155
-140
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
docs:
3+
---
4+
5+
* Log in to [MyF5](https://my.f5.com/manage/s/).
6+
* Go to **My Products & Plans > Subscriptions** to see your active subscriptions.
7+
* Find your NGINX products or services subscription, and select the **Subscription ID** for details.
8+
* Download the **nginx-repo.crt** and **nginx-repo.key** from the subscription page.
9+
* Download the **JSON Web Token** (JWT) from the subscription page.

content/nginx/admin-guide/installing-nginx/installing-nginx-docker.md

Lines changed: 48 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,13 @@ weight: 600
1313
<span id="prereq"></span>
1414
## Prerequisites
1515

16-
- Docker installation
17-
- for NGINX Plus: JWT license file, *nginx-repo.crt* and *nginx-repo.key* files
16+
- The [Docker Engine](https://docs.docker.com/engine/install/) command-line tool
17+
- for NGINX Plus:
18+
19+
* the JSON Web Token (JWT) from [MyF5](https://my.f5.com) customer portal
20+
* the *nginx-repo.crt* and *nginx-repo.key* files from [MyF5](https://my.f5.com) customer portal
21+
* your private Docker registry is configured and running
22+
1823
- for NGINX Open Source: [Docker Hub](https://hub.docker.com/) account
1924

2025

@@ -23,18 +28,20 @@ weight: 600
2328

2429
Since NGINX Plus <a href="../../../releases/#r31">Release 31</a> you can get an NGINX Plus image from the official NGINX Plus Docker registry and upload it to your private registry.
2530

26-
The NGINX Plus Docker registry is available at `https://private-registry.nginx.com/v2/`. It contains the following image types:
31+
The NGINX Plus Docker registry is available at `https://private-registry.nginx.com/v2/`.
2732

28-
- [NGINX Plus]({{< ref "/nginx/releases.md" >}}):
33+
The registry contains the following image types:
34+
35+
- [NGINX Plus]({{< ref "/nginx/releases.md" >}}):</br>
2936
`https://private-registry.nginx.com/v2/nginx-plus/base`
3037

31-
- [Unprivileged]({{< ref "/nginx/admin-guide/installing-nginx/installing-nginx-plus.md#nginx-plus-unprivileged-installation" >}}) installation of NGINX Plus:
38+
- [Unprivileged]({{< ref "/nginx/admin-guide/installing-nginx/installing-nginx-plus.md#nginx-plus-unprivileged-installation" >}}) installation of NGINX Plus:</br>
3239
`https://private-registry.nginx.com/v2/nginx-plus/rootless-base`
3340

34-
- NGINX Plus bundled with [NGINX Agent](https://docs.nginx.com/nginx-agent/overview/):
41+
- NGINX Plus bundled with [NGINX Agent](https://docs.nginx.com/nginx-agent/overview/):</br>
3542
`https://private-registry.nginx.com/v2/nginx-plus/agent`
3643

37-
- Unprivileged installation of NGINX Plus and NGINX Agent:
44+
- Unprivileged installation of NGINX Plus and NGINX Agent:</br>
3845
`https://private-registry.nginx.com/v2/nginx-plus/rootless-agent`
3946

4047
The images can be targeted for a particular operating system and NGINX Plus release using tags.
@@ -69,11 +76,11 @@ curl https://private-registry.nginx.com/v2/nginx-plus/<nginxplus-image-type>/tag
6976

7077
where:
7178
- the `<nginxplus-image-type>` is the location of images in NGINX Plus private registry:
72-
- `base` NGINX Plus only
73-
- `rootless-base` NGINX Plus run from `nginx` user
74-
` - `agent` NGINX Plus along with NGINX Agent in a single image
75-
- `rootless-agent` NGINX Plus with NGINX Agent both run from `nginx` user
76-
- `modules` NGINX Plus dynamic modules <!-- As described in internal issue SE-3 -->
79+
- `base` is NGINX Plus only
80+
- `rootless-base` is NGINX Plus run from `nginx` user
81+
- `agent` is NGINX Plus along with NGINX Agent in a single image
82+
- `rootless-agent` is NGINX Plus with NGINX Agent both run from `nginx` user
83+
- `modules` is NGINX Plus dynamic modules <!-- As described in internal issue SE-3 -->
7784

7885
- the `<nginx-repo.key>` is a local path to your client key from MyF5, for example, `/etc/ssl/nginx/nginx-repo-x12345.key`
7986

@@ -90,10 +97,7 @@ Before you get a container image, you should provide the JSON Web Token file or
9097
{{<tabs name="product_keys">}}
9198

9299
{{%tab name="JSON Web Token"%}}
93-
1. Log in to the [MyF5](https://my.f5.com) customer portal.
94-
2. Go to **My Products and Plans** > **Subscriptions**.
95-
3. Select the product subscription.
96-
4. Download the **JSON Web Token** file.
100+
{{< include "licensing-and-reporting/download-jwt-from-myf5.md" >}}
97101
{{% /tab %}}
98102

99103
{{%tab name="SSL"%}}
@@ -183,6 +187,8 @@ docker pull private-registry.nginx.com/nginx-plus/modules:<version-tag>
183187

184188
After pulling the image, tag it and upload it to your private registry.
185189

190+
> **Note:** Never upload your NGINX Plus images to a public repository such as Docker Hub. Doing so violates your license agreement.
191+
186192
Log in to your private registry:
187193

188194
```shell
@@ -193,53 +199,63 @@ Tag and push the image. Replace `<my-docker-registry>` with your registry’s pa
193199

194200
```shell
195201
docker tag private-registry.nginx.com/nginx-plus/base:<version-tag> <my-docker-registry>/nginx-plus/base:<version-tag>
202+
```
203+
204+
```shell
196205
docker push <my-docker-registry>/nginx-plus/base:<version-tag>
197206
```
198207

199208
### Running the NGINX Plus container
200209

201-
To start the Docker container, replace `YOUR_DATA_PLANE_KEY` with your data plane key and `YOUR_JWT_HERE` with your JWT, `VERSION_TAG` with the version tag you pulled.
202-
203-
**For NGINX Plus R33**:
210+
{{< note >}} Starting from [NGINX Plus Release 33]({{< ref "nginx/releases.md#r33" >}}), the JWT file is required for each NGINX Plus instance. For more information, see [About Subscription Licenses]({{< ref "/solutions/about-subscription-licenses.md">}}). {{< /note >}}
204211

205-
- Use the `NGINX_LICENSE_JWT` variable to pass your JWT license
206-
- Alternatively, specify the license file path with `NGINX_LICENSE_PATH` (default: `/etc/nginx/license.jwt`).
207-
s
208-
For more information about NGINX Plus license and usage reporting see [About Subscription Licenses]({{< ref "/solutions/about-subscription-licenses.md">}}).
212+
To start the Docker container with NGINX Plus, you will need to pass your JWT license file named `license.jwt` as the `NGINX_LICENSE_JWT` environment variable. If the license file needs to be located in a non-default directory, specify its full path using the `NGINX_LICENSE_PATH` variable (default path: `/etc/nginx/license.jwt`).
209213

210214
To start the Docker container with NGINX Plus only:
211215
```sh
212216
sudo docker run \
213-
--env=NGINX_LICENSE_JWT="YOUR_JWT_HERE" \
217+
--env=NGINX_LICENSE_JWT=license.jwt \
214218
--restart=always \
215219
--runtime=runc \
216-
-d private-registry.nginx.com/nginx-plus/base:<VERSION_TAG>
220+
-d <YOUR_REGISTRY>/nginx-plus/base:<VERSION_TAG>
217221
```
218222

219-
To start the Docker container with NGINX Plus and NGINX Agent:
223+
To start the Docker container with NGINX Plus and NGINX Agent,
224+
you will need to additionally pass the NGINX One data plane key as the `NGINX_AGENT_SERVER_TOKEN` environment variable. For more information, see [Create and manage data plane keys](https://docs.nginx.com/nginx-one/how-to/data-plane-keys/create-manage-data-plane-keys/):
225+
220226
```sh
221227
sudo docker run \
222-
--env=NGINX_LICENSE_JWT="YOUR_JWT_HERE" \
228+
--env=NGINX_LICENSE_JWT=license.jwt \
223229
--env=NGINX_AGENT_SERVER_GRPCPORT=443 \
224230
--env=NGINX_AGENT_SERVER_HOST=agent.connect.nginx.com \
225-
--env=NGINX_AGENT_SERVER_TOKEN="YOUR_NGINX_ONE_DATA_PLANE_KEY_HERE" \
231+
--env=NGINX_AGENT_SERVER_TOKEN="YOUR_NGINX_ONE_DATA_PLANE_KEY" \
226232
--env=NGINX_AGENT_TLS_ENABLE=true \
227233
--restart=always \
228234
--runtime=runc \
229-
-d private-registry.nginx.com/nginx-plus/agent:<VERSION_TAG>
235+
-d <YOUR_REGISTRY>/nginx-plus/agent:<VERSION_TAG>
230236
```
231237

238+
where:
239+
- `NGINX_LICENSE_JWT` is your JWT license file from MyF5. The file name should be `license.jwt`.
240+
- `NGINX_AGENT_SERVER_GRPCPORT` sets a GRPC port used by NGINX Agent to communicate with NGINX Instance Manager.
241+
- `NGINX_AGENT_SERVER_HOST` sets the domain name or IP address of NGINX Instance Manager. Note that for production environments it is not recommended to expose NGINX Instance Manager to public networks.
242+
- `NGINX_AGENT_SERVER_TOKEN` sets NGINX One data plane key. See [Create and manage data plane keys](https://docs.nginx.com/nginx-one/how-to/data-plane-keys/create-manage-data-plane-keys/) for details.
243+
- `NGINX_AGENT_TLS_ENABLE` enables mutual TLS, server-side TLS, or insecure mode (not recommended for production environments). See [Encrypt communication](https://docs.nginx.com/nginx-agent/configuration/encrypt-communication/) for details.
244+
- `YOUR_REGISTRY` is the path to your private registry.
245+
- `VERSION_TAG` is the tag assigned when pushing to your registry.
246+
247+
232248
<br>
233249

234250
{{<call-out "" "Example:" "" >}}
235-
To start the container with the `debian` or `ubuntu` image:
251+
To start the Docker Container with NGINX Plus and NGINX Agent on Debian or Ubuntu:
236252

237253
```sh
238254
sudo docker run \
239-
--env=NGINX_LICENSE_JWT="YOUR_JWT_HERE" \
255+
--env=NGINX_LICENSE_JWT="license.jwt" \
240256
--env=NGINX_AGENT_SERVER_GRPCPORT=443 \
241257
--env=NGINX_AGENT_SERVER_HOST=agent.connect.nginx.com \
242-
--env=NGINX_AGENT_SERVER_TOKEN="YOUR_NGINX_ONE_DATA_PLANE_KEY_HERE" \
258+
--env=NGINX_AGENT_SERVER_TOKEN="YOUR_NGINX_ONE_DATA_PLANE_KEY" \
243259
--env=NGINX_AGENT_TLS_ENABLE=true \
244260
--restart=always \
245261
--runtime=runc \

0 commit comments

Comments
 (0)