Socket
Socket
Sign inDemoInstall

@nx-tools/nx-container

Package Overview
Dependencies
157
Maintainers
1
Versions
31
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @nx-tools/nx-container

The Nx Plugin for Containers contains executors, generators, and utilities for build and push containers images from your applications. It provides:


Version published
Weekly downloads
57K
decreased by-3.15%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

@nx-tools/nx-container

The Nx Plugin for Containers contains executors, generators, and utilities for build and push containers images from your applications. It provides:

  • Easy way to build container images with three different engines:
    • Buildx through Moby BuildKit builder toolkit.
    • Podman.
    • Kaniko.
  • Automatic tag management and OCI Image Format Specification for labels,
  • Backward compatibility with @nx-tools/nx-docker api.
  • Generators to help to setup your apps quickly.

This executor not handle registry login steps, so if you wanna push your container images to a remote registry, please setup the credentials using the docker login or podman login. For kaniko engine, you need to create the /kaniko/.docker/config.json according to this documentation.

This is the succesor of @nx-tools/nx-docker. For docs about nx-docker please go check this

Setting up the Container plugin

Adding the Container plugin to an existing Nx workspace can be done with the following:

npm install -D @nx-tools/nx-container
yarn add -D @nx-tools/nx-container

If you want an "automatic" tag management and OCI Image Format Specification for labels, you need to install the optional @nx-tools/container-metadata package:

npm install -D @nx-tools/container-metadata
yarn add -D @nx-tools/container-metadata

@nx-tools/container-metadata is the succesor of @nx-tools/docker-metadata.

Using the Container Plugin

Configuring an application

It's straightforward to setup your application:

nx g @nx-tools/nx-container:init appName

By default, the application will be configured with:

  • A Dockerfile in the application root.
  • A target to build your application using the Docker engine.

We can then build our application with the following command:

nx container appName

To use a different engine, you need to update the options.engine property of your project target or use the INPUT_ENGINE environment variable. All possible values are docker (the default), podman and kaniko

Tip: You can set docker or podman engine in your project.json targets to use in your dev machine, and use INPUT_ENGINE env variable to use kaniko in your CI/CD pipelines.

Migrate from @nx-tools/nx-docker

Just change @nx-tools/nx-docker:build to @nx-tools/nx-container:build in your project targets and you will continue building images using the docker/buildx engine.

"docker": {
  "executor": "@nx-tools/nx-container:build",
  "options": {
    ...
  }
}

More Documentation

Package reference

Here is a list of all the executors and generators available from this package:

Executors

  • build: Builds an image using instructions from the Dockerfile and a specified build context directory.

Generators

  • init: Setup required files to build your app.

FAQs

Last updated on 19 Apr 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc