Test in production without watermarks.
Works wherever you need it to.
Get 30 days of fully functional product.
Have it up and running in minutes.
Full access to our support engineering team during your product trial
Docker is an open-source platform that simplifies the process of developing, deploying, and running applications using containerization. Containers are ultralight, portable units that package an application along with its dependencies, enabling consistent execution across diverse environments, from a developer's local system to production servers. Unlike traditional virtual machines, containers utilize the host operating system's kernel, enhancing their speed and efficiency.
Docker offers a virtualized template through Docker images to create and manage sets of containers. It includes the Docker Hub, a form of container image repository. The great appeal of this technology is its scalability, portability, and efficiency, making it highly popular in DevOps and cloud-centric development workflows.
docker build
, docker pull
, or docker run
.+--------------------+
| Docker Client |
| (CLI/API) |
+--------------------+
|
v
+--------------------+ +---------------------+
| Docker Daemon | --------> | Docker Registry |
| (manages resources| | (stores images) |
| & runs containers)| +---------------------+
+--------------------+
|
v
+---------------------+
| Container |
| (App Instance) |
+---------------------+
|
v
+---------------------+
| Docker Image |
| (App Blueprint) |
+---------------------+
Docker Compose provides an easy way to manage a multi-container Docker application using a single file: docker-compose.yml
. This YAML file enables the configuration of multiple services, specifying aspects like Docker images, environment variables, networks, and volumes. You can utilize Docker Compose commands such as docker-compose up
or docker-compose down
to manage all containers in an application with a single action.
+--------------------------+
| docker-compose.yml | (Configuration file)
+--------------------------+
|
v
+----------------+ +----------------+ +----------------+
| Service 1 | | Service 2 | | Service 3 |
| (e.g. web) | | (e.g. db) | | (e.g. cache) |
+----------------+ +----------------+ +----------------+
| | |
-----------------------------------------
Docker Application
Docker Compose is particularly advantageous for complex applications like microservices with numerous container instances. It is effectively used across development, testing, and production settings.
Follow these steps to create a new Visual Studio React application with an ASP.NET Core backend and add Docker support:
Open Visual Studio and choose New Project from the menu.
Search for "React and ASP.NET Core Web Application" in the "Create a new project" dialog and select it. Click Next.
Provide a name for the project, select a solution name, and choose the save location. Click Next.
Ensure Docker Support is enabled. Select the desired framework and click Create.
After project creation, add Docker support by right-clicking the project node and selecting Add > Docker Support.
Choose the container name and type, then click Ok.
Now that the newly created project is added to the Docker container, Docker Compose commands can run it. Below is a sample output generated from the React JS client-side code.
Below is the API server-side code executing from the Docker container.
IronSecureDoc enables developers to efficiently embed secure document processing into containerized applications. With Docker's support, encapsulate your ASP.NET Core app using IronSecureDoc, encouraging seamless deployment and scaling. Build a Dockerfile to integrate IronSecureDoc with your ASP.NET Core app, along with necessary scripts or configurations.
Moreover, a docker-compose.yml
file can outline service dependencies and environment variables for easy access, assisting in handling document security tasks efficiently in different deployment settings. Ensuring the install and configuration of IronSecureDoc, like Docker, is essential for delivering features like document encryption and redaction.
Retrieve the IronSecureDoc Docker image with this command:
docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
After pulling the image, use the following command to launch IronSecureDoc in a new container:
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
IronSecureDoc's REST API allows document operations like redaction, certification, and encryption once installed and running in Docker. For more on API endpoints, check the documentation.
To encrypt a document, send a POST request to the IronSecureDoc API:
curl -X 'POST' \
'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
-H 'accept: */*' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@test.pdf;type=application/pdf'
curl -X 'POST' \
'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
-H 'accept: */*' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@test.pdf;type=application/pdf'
This command submits the document to IronSecureDoc for encryption.
Integrating Docker Compose with IronSecureDoc greatly enhances the efficiency and reliability of applications requiring secure document handling. Docker Compose effectively manages multi-container applications, streamlining dependencies and services coordination, including IronSecureDoc, which ensures development environment consistency, simplifies configurations, and boosts scalability.
In this setup, developers can fully leverage document security features, like encryption and redaction, within a containerized framework. Overall, combining Docker Compose with IronSecureDoc enriches the development process, offering a secure, efficient method for handling sensitive documents in modern applications. For information on IronSecureDoc licensing, visit this page. Click here to explore more Iron Software products.
Docker is an open-source platform that simplifies the process of developing, deploying, and running applications using containerization. It packages an application with its dependencies, enabling consistent execution across diverse environments.
Docker Daemon handles the creation, management, and monitoring of containers by using Docker images from a registry. It creates isolated containers that share the host OS kernel, ensuring the application runs with its dependencies.
Docker Compose allows management of multi-container Docker applications using a single file, 'docker-compose.yml'. It simplifies configurations of services, images, networks, and volumes, enabling single command management.
You need Visual Studio 2022 or newer with web, ASP.NET, Node.js development, and Docker Support workloads, and Docker Desktop installed and running.
IronSecureDoc can be pulled as a Docker image and run within a container. It allows document operations like redaction and encryption through its REST API, enhancing secure document handling in applications.
Docker Compose is advantageous for complex applications like microservices, as it manages multiple containers and coordinates services and dependencies, ensuring consistent development and production environments.
After creating a project, right-click the project node in Visual Studio and select Add > Docker Support. Choose the container name and type to enhance the project with Docker capabilities.
By integrating with Docker Compose, IronSecureDoc enhances applications requiring secure document handling. It manages dependencies and services, ensuring security and scalability in containerized environments.
Pull the IronSecureDoc Docker image with 'docker pull' command and use 'docker container run' to launch it, specifying necessary environment variables like license key and ports.
Use a POST request to the IronSecureDoc API with the 'curl' command, specifying the local file path and encryption parameters to encrypt a document.