Giter Club home page Giter Club logo

docker-iojs's Introduction

iojs

dockeri.co

GitHub issues GitHub stars

The official iojs docker image, made with love by the iojs community.

What is iojs?

from iojs.org/faq.html

io.js is a JavaScript platform built on Chrome's V8 runtime. This project began as a fork of Joyent's Node.jsโ„ข and is compatible with the npm ecosystem.

Why? io.js aims to provide faster and predictable release cycles. It currently merges in the latest language, API and performance improvements to V8 while also updating libuv and other base libraries.

This project aims to continue development of io.js under an "open governance model" as opposed to corporate stewardship.

Usage

How to use this image

If you want to distribute your application on the docker registry, create a Dockerfile in the root of application directory:

FROM iojs:onbuild

# Expose the ports that your app uses. For example:
EXPOSE 8080

Then simply run:

$ docker build -t iojs-app
...
$ docker run --rm -it iojs-app

To run a single script, you can mount it in a volume under /usr/src/app. From the root of your application directory (assuming your script is named index.js):

$ docker run -v ${PWD}:/usr/src/app -w /usr/src/app -it --rm iojs iojs index.js

Image Variants

The iojs images come in many flavors, each designed for a specific use case.

iojs:<version>

This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of. This tag is based off of buildpack-deps. buildpack-deps is designed for the average user of docker who has many images on their system. It, by design, has a large number of extremely common Debian packages. This reduces the number of packages that images that derive from it need to install, thus reducing the overall size of all images on your system.

iojs:onbuild

This image makes building derivative images easier. For most use cases, creating a Dockerfile in the base of your project directory with the line FROM iojs:onbuild will be enough to create a stand-alone image for your project.

iojs:slim

This image does not contain the common packages contained in the default tag and only contains the minimal packages needed to run iojs. Unless you are working in an environment where only the iojs image will be deployed and you have space constraints, we highly recommend using the default image of this repository.

License

License information for the software contained in this image. License information for the io.js Docker project.

Supported Docker versions

This image is officially supported on Docker version 1.5.0.

Support for older versions (down to 1.0) is provided on a best-effort basis.

People

Current Project Team Members:

docker-iojs's People

Contributors

hatchan avatar hmalphettes avatar jbhannah avatar pesho avatar proppy avatar starefossen avatar stp-ip avatar tianon avatar yosifkit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-iojs's Issues

Global install fails

Basically, this is the same issue as nodejs/docker-node#10:

When I run the container iojs:1.1.0 using

$ docker run -it iojs:1.1.0 bash

and then inside if the container run

# npm install -g pm2-web

I get an error message by node-gyp telling me that the user is undefined:

gyp WARN EACCES user "undefined" does not have permission to access the dev dir "/root/.node-gyp/1.1.0"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/pm2-web/node_modules/mdns2/.node-gyp"

How do I fix that?

npm WARN cannot run in wd node-gyp

I am canot get node-gyp rebuild to run as an install step within the docker container:

npm install @corbinu/couchbase

gives the error
npm WARN cannot run in wd node-gyp @corbinu/[email protected] node-gyp rebuild

Any ideas?

Reduce Image Size - Alpine Linux, update apk

Hi,

are there any plans to use optimize the image size?
We where using iojs image and a customer complained about the image with more than 700 MB, and suggested iojs-slim. The result was still 300 MB - including spm-agent-docker.

After using this as base:

FROM alpine:edge
RUN echo "http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories 
RUN apk update
RUN apk add --update iojs
RUN apk add --update git

RUN apk update
RUN apk upgrade
RUN rm -rf /var/cache/apk/*

the image size for spm-agent-docker had a final size of 123 MB.
But here is my concern:

  • how to ensure that there is the latest io.js available as .apk package?

In any case I would like to see a tiny, offical iojs base image.

Thanks
Stefan

1.8

Is 1.8 still "supported"? ie, if there's a problem discovered with 1.8.2, will there be a 1.8.3?

If it is still supported, is there some documentation somewhere pointing to supported versions (especially with EOL dates)?

`buildpack-deps:jessie` over `debian:jessie`

What advantage does this offer? From what I can see, most of the packages installed on top of debian:jessie in buildpack-deps:micro and buildpack-deps aren't dependencies of our project.

Signature warning

gpg: Signature made Tue Jan 20 07:54:40 2015 UTC using RSA key ID 7D83545D
gpg: Good signature from "Rod Vagg <[email protected]>"
gpg:                 aka "Rod Vagg <[email protected]>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: <is this private?>

what does this mean?

Docs not clear on what the supported tags mean

I was having trouble finding what the differences were for the various tags (standard, onbuild and slim). After browsing the various iojs dockerfiles (and the relevant buildpack-deps dockerfiles), it makes sense.

I wanted to propose an addition to the readme. I'm envisioning a Tag Details section that explains the difference between the standard and slim (gives details as to what packages standard gives you that slim doesn't). Happy to provide a pr, but wanted to check that this was wanted first.

First io.js Build WG and Docker sub-WG meeting

Posting here to draw attention to nodejs/build#43 to draw for anybody hovering around this project that would like to be more involved. I see the Docker effort as a sub working group of build but much of its activity will be entirely separate so you don't have to have an interest in broader build efforts to be involved here.

The io.js Built Team WG Proposal

We are putting together a governance model for the io.js build team, and are proposing that the docker-iojs team be a sub-working group of that team. To be part of this conversation, check out: nodejs/build#49

Missing iojs 2.3.0 image

Hi,

io.js 2.3.0 was released a few days ago, but there is still no 2.3.0 image in the official docker registry.

Joining the Node.JS Foundation

io.js TC meeting 2015-05-13 voted for joining the Node.JS Foundation, meeting notes are @ nodejs/node#1700 and the video is @ http://www.youtube.com/watch?v=UbYiFLf7MpU. As per nodejs/node#1705 all repos and related working groups will be moved to the new "nodejs" org.

The impact on Working Groups is that they will also be moved in to the "nodejs" org and become part of the Foundation. However, since the Working Groups are autonomous they have the ability to relocate and detach from the Foundation and that is their right. If there are concerns within your Working Group(s) about this move, please discuss it and come to a decision according to the governance procedures you have set up.

So without further ado; should the Docker Working Group join the Node.JS Foundation or not?

Convergence plans with joyent/docker-node team

As per nodejs/docker-node#28 I've added @chorrell and @dcrudgington to the @nodejs/docker team. Handing over to y'all now to discuss how to converge your resources to continue to produce both images but as a combined team. Timing and the details of how you manage both repos are entirely up to you of course. As usual if you need any resources from the Build WG then just @-mention us and we'll come running.

Happy times!

Rename on Docker Hub

docker run iojs/docker-iojs:1.0

is a bit clunky, can we rename "docker-iojs" on Docker Hub to just "iojs" so it's more like:

docker run iojs/iojs:1.0

Of course if this becomes "official" it'll be nicer anyway but let's not presume that'll actually happen and optimise for the current case.

Thoughts? I'm assuming it's possible to have differing repo names here and on Docker Hub.

new PGP key

@chrisdickinson has just done v1.1.0 and it's signed with his key so for these dockerfiles to work they'll also need to pull in his key. All release keys in use will have their fingerprints listed at the bottom of https://github.com/iojs/io.js under each person authorized to release (Chris' will be making its way there shortly). You should just be able to append them together, space-separated at the end of the gpg command in the Dockerfile.

How do we handle a io.js v2.0 release candidate?

There has been some rumbling in the latest TC meetings, and very recently in nodejs/node#1436, about releasing one or more release candidates (RCs) for the next major version of io.js (v2.0). I can only assume that the RC versions will be available similarly to how the official builds are distributed.

How should we handle RC versions with regards to the io.js Docker image? Do we ignore them and wait until the final version has been landed? Or can we make them available through an 2.0-rc-x tag under the official image? If a tag on the official image is a no go, can we create a separate image for testing RCs? The latest tag will of course continue to point to latest 1.x version until v2.0 has been officially released.

I do think it is important to make RC versions available through the Docker image since the main purpose of an RC is to get as many people as possible to test them. What better way to test the new version than through Docker, right?! ๐Ÿš€ ๐Ÿ˜„

Explore ways to trim down the image size

Some ideas suggested elsewhere:

  1. Use a smaller base image for the default variant, e.g. buildpack-deps:jessie-micro
  2. The build-essential package might be too fat, as it also brings stuff for Debian package development which we don't need. We may save space by installing only the useful bits.
  3. The packages needed for building native modules might be left out (with a warning to the users that they should install them themselves if required).

Docker Working Group proposal

This is a proposal and preliminary discussion about forming a new Docker Working Group within io.js. Refs #29. Working Groups are described here.

Possible WG charter (draft):

Docker WG

The Docker working group's purpose is to build, maintain, and improve official Docker images for the io.js project.

Its responsibilities are:

  • Keep the official Docker images updated in line with new io.js releases
  • Decide and implement image improvements
  • Maintain and improve the images' documentation

We also need at least 3 initial WG members (the more the better IMO). Here is an alphabetical list of possible candidates who have contributed in the past (please respond if you would like/dislike to join):

@hmalphettes
@jlmitch5
@pesho
@rvagg
@Starefossen
@wblankenship

There have also been significant contributions from @jfrazelle, @tianon, @yosifkit from the Docker team, who are of course welcome to join if they wish.

Also /cc @mikeal

Thoughts?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.