Coder Social home page Coder Social logo

adv_web_dev_topic_10_docker's Introduction

Basic Container for Coursera Dockerfile

The following builds a basic docker container containing python3, nginx and visual Studio server. Supervisord is used to handle starting nginx and VS Server. Nginx acts as a proxy/firewall and handles mapping http requests from outside the container to applications running inside the container.

Make sure you're passingly familiar with docker. A small number of useful docker commands have been summarised in the useful_docker_commands.md markdown.

You should be familiar with linux and specifically ubuntu and the apt-get ecosystem as that will make the Dockerfile make more sense.

You must also be familar with the coursera docker build process. Anything you successfully build must also be run through their build tool to check for safety/security. https://github.com/coursera/coursera-labs. Roughly though, get your docker image working locally. Set up the coursera tool. Then use the run-lab/run.sh to build a version and if that works you can zip up your docker directory and upload your docker info to coursera labs.

To upload to coursera you need to provide a zip of the directory (and all its contents) that contains the Dockerfile, zip -r name.zip .. Note that you should make the zip file inside directory that contains the dockerfile, don't zip the containing directory as the coursera docker build process assumes the Dockerfile is in the vary root of the zip.

Things of note

build.sh

Somewhat over engineered way to call the docker build process

manifest.json

Used by the coursera docker build tool. Note that the name of the project in the build.sh and here is different. Make sure that's always the case to stop any namespace collisions in your docker images list/set when working locally

reverse-proxy.conf

configures nginx to map http requests in the browser to the applications running inside you container. So Visual Studio is running on port 8443 and is being mapped to any request for http at /

supervisord.conf

configures which services, daemons and whatnot are started at runtime when a container starts

Build

sh build.sh

Run and access

docker run -p 8888:8000 <name_image>
docker run -p 8888:8000 coursera_master:dev

Access the app at root of localhost:8888 for the Visual Studio interface. Add the path as defined in the

adv_web_dev_topic_10_docker's People

Contributors

danbuchan avatar

Watchers

James Cloos avatar  avatar  avatar

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.