Connect NGINX Plus container images to NGINX One
Introduction
By following this guide, you will be able to set up a Docker container with F5 NGINX Plus and the NGINX Agent, and then connect to the NGINX One Console.
Before you start
Before you start, make sure you have the following:
- A valid JSON Web Token (JWT) from your NGINX subscription. You can download the JWT from MyF5.
- A data plane key from NGINX One.
- Docker installed and running on your system.
Process for private registry
Log in to NGINX private registry
First, log in to the NGINX private registry. Replace YOUR_JWT_HERE
with your actual JWT.
sudo docker login private-registry.nginx.com --username=YOUR_JWT_HERE --password=none
Note:
For security, follow these practices with JSON Web Tokens (JWTs), passwords, and shell history:
JWTs: JWTs are sensitive information. Store them securely. Delete them after use to prevent unauthorized access.
Shell history: Commands that include JWTs or passwords are recorded in the history of your shell, in plain text. Clear your shell history after running such commands. For example, if you use bash, you can delete commands in your
~/.bash_history
file. Alternatively, you can run thehistory -c
command to erase your shell history.Follow these practices to help ensure the security of your system and data.
Pull the image
Next, pull the NGINX Plus image from the private registry. Replace VERSION_TAG
with the specific version tag you need (for example, alpine
, debian
, or ubi
).
sudo docker pull private-registry.nginx.com/nginx-plus/agent:VERSION_TAG
Note:
A version tag is required. Leaving out the version tag is not supported becauselatest
is not a valid option. For more details about version tags, refer to Deploying NGINX and NGINX Plus on Docker.
Example:
To pull the
debian
image, use the following command:sudo docker pull private-registry.nginx.com/nginx-plus/agent:debian
Start the container
Finally, start the Docker container. Replace YOUR_DATA_PLANE_KEY
with your actual NGINX One data plane key and VERSION_TAG
with the specific version tag you pulled.
sudo docker run \
--env=NGINX_AGENT_SERVER_GRPCPORT=443 \
--env=NGINX_AGENT_SERVER_HOST=agent.connect.nginx.com \
--env=NGINX_AGENT_SERVER_TOKEN=YOUR_DATA_PLANE_KEY \
--env=NGINX_AGENT_TLS_ENABLE=true \
--env=NGINX_AGENT_TLS_SKIP_VERIFY=false \
--restart=always \
--runtime=runc \
-d private-registry.nginx.com/nginx-plus/agent:VERSION_TAG
Example:
To start the container with the
debian
image, use the following command:sudo docker run \ --env=NGINX_AGENT_SERVER_GRPCPORT=443 \ --env=NGINX_AGENT_SERVER_HOST=agent.connect.nginx.com \ --env=NGINX_AGENT_SERVER_TOKEN=YOUR_DATA_PLANE_KEY \ --env=NGINX_AGENT_TLS_ENABLE=true \ --env=NGINX_AGENT_TLS_SKIP_VERIFY=false \ --restart=always \ --runtime=runc \ -d private-registry.nginx.com/nginx-plus/agent:debian
References
For more detailed information, refer to the following resources:
- Deploying NGINX and NGINX Plus on Docker
- Full List of Agent Environment Variables
- NGINX One Data Plane Keys
- My F5 Knowledge Article