Giter VIP home page Giter VIP logo

docker-devel-repl's Introduction

docker-devel-repl

Devel::REPL on top of dist-zilla and plenv

Enabled Plugins:

    • LexEnv

    • History

    • DumpHistory

    • Nopaste

    • Colors

    • Timing

Basic example:

$ docker pull jmmills/devel-repl
$ docker run -t -i --rm jmmills/devel-repl
$ my $a = [ 'one', 'two', 'three' ]
$ARRAY1 = [
            'one',
            'two',
            'three'
          ];

Or, maybe you want a custom repl.rc and some modules install?

No problem, use a volume to your .re.pl directory and commit your modified container where $container is the docker container ID (also hostname in most cases)

$ docker run -t -i -v $HOME/.re.pl:/.re.pl jmmills/devel-repl
$ shell
root@$container:/# cpanm Acme
...
root@$container:/# exit
$ use Acme
Took 0.00755095481872559 seconds.

Now commit your container in a different shell with a nice shorthand container name.

$ docker commit $container re.pl
# you can kill you state container
$ docker kill $container
$ docker run -i -t --rm re.pl
$ use Acme 
Took 0.009613037109375 seconds.
$ exit

Maybe be like me and setup a re.pl alias so when sandboxing you are always in a container.

$ alias re.pl='docker run -i -t --rm -v $HOME/.re.pl:/.re.pl jmmills/devel-repl'
$ re.pl
$ 1 + 1 Took 0.00048518180847168 seconds.
2
$ exit

Or another way, extend the original image as your own sandbox build

$ cat Dockerfile 
FROM jmmills/devel-repl 
RUN cpanm Acme 
ENTRYPOINT ["/usr/local/bin/re.pl"] 
CMD [""]
$ docker build -t re.pl .
$ docker run -i -t --rm re.pl
$ use Acme
Took 0.00991296768188477 seconds.
$ exit

docker-devel-repl's People

Contributors

jmmills avatar

Watchers

 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.