Browse Source

Improve docker registry

tags/v0.3.11-rc1
haixuantao 10 months ago
parent
commit
17a2e59190
4 changed files with 66 additions and 52 deletions
  1. +15
    -8
      .github/workflows/docker-image.yml
  2. +0
    -44
      docker/minimal/README.md
  3. +0
    -0
      docker/slim/Dockerfile
  4. +51
    -0
      docker/slim/README.md

+ 15
- 8
.github/workflows/docker-image.yml View File

@@ -1,21 +1,28 @@
name: Docker Image CI
name: Docker Image CI/CD


on: on:
push: push:
branches: [ "main" ]
branches: ["main"]
paths: paths:
- "docker/**" - "docker/**"
pull_request: pull_request:
branches: [ "main" ]
paths: paths:
- "docker/**" - "docker/**"


jobs: jobs:

build: build:

runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4
- name: Build the Docker image
run: docker build docker/minimal --tag dora-minimal:$(date +%s)
- uses: actions/checkout@v4

- name: "Login to GitHub Container Registry"
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{github.actor}}
password: ${{secrets.GITHUB_TOKEN}}

- name: Build the Docker image
run: |
docker build docker/slim --tag ghcr.io/dora-rs/dora-slim:latest
docker push ghcr.io/dora-rs/dora-slim:latest

+ 0
- 44
docker/minimal/README.md View File

@@ -1,44 +0,0 @@
# Minimal Dora Docker Environment

This Dockerfile provides a minimal environment for running Dora applications with Python and uv package manager.

## What's Included

- Python 3.12
- Rust (required for Dora)
- uv package manager
- Latest Dora release

## Building the Image

```bash
docker build . -t dora-minimal
```

## Running the Container

```bash
docker run -it --rm dora-minimal
```

## Running not in interactive

```bash
docker run --rm dora-minimal dora --help
```

## Running with privilege as well as USB connection

```bash
docker run --rm --device=/dev/ttyUSB0 dora-minimal dora --help
```

## Usage

Once inside the container, you can:

- Run Dora commands: `dora --help`
- Use uv for package management: `uv install numpy`
- Develop and test your Dora applications

This container is designed to provide a consistent environment for Dora development without requiring complex setup on the host machine.

docker/minimal/Dockerfile → docker/slim/Dockerfile View File


+ 51
- 0
docker/slim/README.md View File

@@ -0,0 +1,51 @@
# slim Dora Docker Environment

This Dockerfile provides a slim environment for running Dora applications with Python and uv package manager.

## What's Included

- Python 3.12
- Rust (required for Dora)
- uv package manager
- Latest Dora release

## Building the Image

```bash
docker build . -t dora-slim
```

## Running the Container

```bash
docker run -it --rm --device=/dev/video0 dora-slim
```

## Running not in interactive

```bash
docker run --rm dora-slim dora --help
```

## Running with privilege as well as USB connection

```bash
docker run --rm --device=/dev/video0 dora-slim dora --help
```

## Usage

Once inside the container, you can:

```bash
## Create a virtual environment
uv venv --seed -p 3.11

## Install nodes dependencies of a remote graph
dora build https://raw.githubusercontent.com/dora-rs/dora/refs/heads/main/examples/object-detection/yolo.yml --uv

## Run yolo graph
dora run yolo.yml --uv
```

This container is designed to provide a consistent environment for Dora development without requiring complex setup on the host machine.

Loading…
Cancel
Save