Skip to content

dojyorin/deno_docker_image

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Deno Docker Image

actions:test actions:release actions:cron shields:license shields:release

The simple and small deno docker image.

This image is published on DockerHub and synchronized with latest version of denoland/deno every day at 00:00 UTC.

Now, let's start using it!

Tags

OS Tag Arch
distroless (default) latest vX.Y.Z distroless distroless-vX.Y.Z amd64 arm64
alpine alpine alpine-vX.Y.Z amd64 arm64

How to use

Easy to introduce in your project.

⚠ Note ⚠

  • When starting container, be sure to add --init flag (docker run) or init: true property (docker-compose.yml) to avoid PID1 problem.
  • For security reasons, default runtime user is nonroot in distroless and nobody in other distributions.

As single image

# Run repl
docker run --init --rm -it dojyorin/deno:latest

# Run script
docker run --init --rm --restart always -p 0.0.0.0:8000:8000 -v $(pwd)/src:/data:ro dojyorin/deno:latest run /data/main.ts

As compose

name: my_project
services:
    image: dojyorin/deno:latest
    init: true
    restart: always
    ports:
        - 0.0.0.0:8000:8000
    volumes:
        - ./src:/data:ro
    command:
        - run
        - /data/main.ts

As base image

FROM dojyorin/deno:latest
COPY ./src /data
EXPOSE 8000
CMD ["run", "/data/main.ts"]

Difference from official image

This project was created to solve some issues by deno_docker official images.

  • tini is redundant.
  • Alpine relies on third-party image.
  • Distroless refers to old debian. (Using 11, latest is 12)

If official images solve those issues, this project will be unnecessary...

About

The simple and small deno docker image.

Topics

Resources

License

Stars

Watchers

Forks