This repository documents my understanding of Docker and my attempt to build a Docker image for DGTD (Discontinuous Galerkin Time Domain) code. Docker allows us to package applications and their dependencies into isolated containers, ensuring consistency across different environments.
This repository documents my understanding of Docker and my attempt to build a Docker image for DGTD (Discontinuous Galerkin Time Domain) code. Docker allows us to package applications and their dependencies into isolated containers, ensuring consistency across different environments.
The documentation is up `here <https://acem.ece.illinois.edu/docs/Docker>`__.
The documentation is up `here <https://acem.ece.illinois.edu/docs/Docker>`__.
## Building the Docker Image
Building the Docker Image
-------------------------
To build the Docker image for DGTD code, follow these steps:
To build the Docker image for DGTD code, follow these steps:
### Command Line Interface (CLI)
Command Line Interface (CLI)
----------------------------
Use the following CLI commands to build the Docker image:
Use the following CLI commands to build the Docker image:
```bash
..code-block:: sh
docker build -t sample-image .
```
docker build -t sample-image .
Replace `sample-image` with your preferred image name.
Replace `sample-image` with your preferred image name.
### Platform Compatibility
Platform Compatibility
----------------------
The Docker image can be built on both UNIX and Windows platforms. Here’s how I set it up:
The Docker image can be built on both UNIX and Windows platforms. Here’s how I set it up:
- **UNIX:** Use Docker Engine.
- **UNIX:** Use Docker Engine.
- **Windows:** Install Docker Desktop.
- **Windows:** Install Docker Desktop.
## Testing the Docker Image
Testing the Docker Image
------------------------
After building the Docker image, test its functionality on both UNIX and Windows environments:
After building the Docker image, test its functionality on both UNIX and Windows environments:
@ -36,7 +39,8 @@ After building the Docker image, test its functionality on both UNIX and Windows
The image should maintain consistency and reproducibility across platforms, demonstrating Docker's versatility in managing application dependencies.
The image should maintain consistency and reproducibility across platforms, demonstrating Docker's versatility in managing application dependencies.
## Usage
Usage
-----
This repository serves as a guide for packaging DGTD code and other applications in Docker containers in the future. Adjust Dockerfile configurations and testing procedures as necessary for specific application requirements.
This repository serves as a guide for packaging DGTD code and other applications in Docker containers in the future. Adjust Dockerfile configurations and testing procedures as necessary for specific application requirements.