vykozlov / DEEP-OC-cctestx

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

logo

DEEP-OC-cctestx

Build Status

This is a container that will run cctestx application leveraging the DEEP as a Service API component (DEEPaaS API V2).

Running the container

Directly from Docker Hub

To run the Docker container directly from Docker Hub and start using the API simply run the following command:

$ docker run -ti -p 5000:5000 -p 6006:6006 vykozlov/deep-oc-cctestx

This command will pull the Docker container from the Docker Hub vykozlov repository and start the default command (deepaas-run --listen-ip=0.0.0.0).

N.B. For either CPU-based or GPU-based images you can also use udocker.

Running via docker-compose

docker-compose.yml allows you to run the application with various configurations via docker-compose, for example:

$ docker-compose up cctestx

N.B! docker-compose.yml is of version '2.3', one needs docker 17.06.0+ and docker-compose ver.1.16.0+, see https://docs.docker.com/compose/install/

If you want to use Nvidia GPU, you need nvidia-docker and docker-compose ver1.19.0+ , see nvidia/FAQ

Building the container

If you want to build the container directly in your machine (because you want to modify the Dockerfile for instance) follow the following instructions:

git clone https://github.com/vykozlov/DEEP-OC-cctestx
cd DEEP-OC-cctestx
docker build -t vykozlov/deep-oc-cctestx .
docker run -ti -p 5000:5000 -p 6006:6006 -p 8888:8888 vykozlov/deep-oc-cctestx

These three steps will download the repository from GitHub and will build the Docker container locally on your machine. You can inspect and modify the Dockerfile in order to check what is going on. For instance, you can pass the --debug=True flag to the deepaas-run command, in order to enable the debug mode.

Connect to the API

Once the container is up and running, browse to http://localhost:5000 to get the OpenAPI (Swagger) documentation page.

Project structure

├─ Dockerfile             Describes main steps on integrationg DEEPaaS API and
│                         <your_project> application in one Docker image
│
├─ Jenkinsfile            Describes basic Jenkins CI/CD pipeline
│
├─ LICENSE                License file
│
├─ README.md              README for developers and users.
│
├─ docker-compose.yml     Allows running the application with various configurations via docker-compose
│
├─ metadata.json          Defines information propagated to the [DEEP Open Catalog](https://marketplace.deep-hybrid-datacloud.eu)

You can validate the metadata.json before making a git push using:

pip install git+https://github.com/deephdc/schema4apps
deep-app-schema-validator metadata.json

About

License:MIT License


Languages

Language:Dockerfile 100.0%