Coder Social home page Coder Social logo

Comments (4)

rochaporto avatar rochaporto commented on June 25, 2024

For reference, here's a tip to launch the docker daemon in a chromebook with crouton:

sudo /usr/bin/docker.io -d -b none --storage-driver=vfs

And then:

docker build -t ezgliding docker

from ezgliding.

rochaporto avatar rochaporto commented on June 25, 2024

A first try with:

FROM golang
WORKDIR /gopath/src/github.com/rochaporto/ezgliding
ADD . /gopath/src/github.com/rochaporto/ezgliding
RUN go get github.com/rochaporto/ezgliding
RUN go install github.com/rochaporto/ezgliding
ENTRYPOINT /gopath/bin/ezgliding web
EXPOSE 8000

works but has the disadvantage of actually rerunning the build to get the binary, which is not necessarily what we want for deployments. In particular it requires the golang image in FROM, so the resulting image is always bigger than 300MB, while the ezgliding binary is 9MB.

An alternative is described here:
https://medium.com/@kelseyhightower/optimizing-docker-images-for-static-binaries-b5696e26eb07

and we could instead create the image directly from within travis including the resulting binary.

from ezgliding.

rochaporto avatar rochaporto commented on June 25, 2024

Relevant links from the previous comment:
https://blog.golang.org/docker

and the magic of automated builds in dockerhub, though we might end up not using them:
http://docs.docker.com/userguide/dockerrepos/#automated-builds

from ezgliding.

rochaporto avatar rochaporto commented on June 25, 2024

With some like:

FROM scratch
MAINTAINER Ricardo Rocha <[email protected]>
ADD ezgliding ezgliding
EXPOSE 8000
ENTRYPOINT ["/ezgliding"]

it looks pretty good:

# sudo docker build -t ezgliding .
Sending build context to Docker daemon 21.39 MB
Sending build context to Docker daemon 
Step 0 : FROM scratch
Pulling repository scratch
511136ea3c5a: Download complete 
 ---> 511136ea3c5a
Step 1 : MAINTAINER Ricardo Rocha <[email protected]>
 ---> Running in 3136603cb9c3
 ---> aacd3791a68a
Removing intermediate container 3136603cb9c3
Step 2 : ADD ezgliding ezgliding
 ---> 11065f0a4972
Removing intermediate container ae93e510fefc
Step 3 : EXPOSE 8000
 ---> Running in c58d4efb1690
 ---> e909d3fa7142
Removing intermediate container c58d4efb1690
Step 4 : ENTRYPOINT ["/ezgliding"]
 ---> Running in b619c8c18e9e
 ---> ecdfa8e8f83b
Removing intermediate container b619c8c18e9e
Successfully built ecdfa8e8f83b

from ezgliding.

Related Issues (20)

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.