Dockerfile parser library, ported from @yurinnick's Ruby library.
Add this to your application's shard.yml
:
dependencies:
dockerfile:
github: keplersj/dockerfile.cr
example.cr
require 'dockerfile'
puts DockerfileParser.load('Dockerfile')
Dockerfile
FROM debian:jessie
MAINTAINER Nikolay Yurin <yurinnick@outlook.com>
RUN apt-get update && \
apt-get install -y nginx
RUN rm -rf /var/lib/apt/lists/* && \
chown -R www-data:www-data /var/lib/nginx
VOLUME /var/www/html
WORKDIR /etc/nginx
COPY site-example.conf /etc/nginx/sites-available/site-example.conf
COPY index.html.tmpl /var/www/html/index.html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
output
[
{command: "FROM", params: ["debian", "jessie"]},
{command: "MAINTAINER", params: "Nikolay Yurin <yurinnick@outlook.com>"},
{command: "RUN", params: [
["apt-get", "update"],["&"],
["apt-get", "install", "-y", "nginx"]]},
{command: "RUN", params: [
["rm", "-rf", "/var/lib/apt/lists/*"],
["&"],
["chown", "-R", "www-data:www-data", "/var/lib/nginx"]]},
{command: "VOLUME", params: "/var/www/html"},
{command: "WORKDIR", params: "/etc/nginx"},
{command: "COPY", params: {src: "site-example.conf",
dst: "/etc/nginx/sites-available/site-example.conf"}},
{command: "COPY", params: {src: "index.html.tmpl",
dst: "/var/www/html/index.html"}},
{command: "EXPOSE", params: "80"},
{command: "CMD", params: ["nginx", "-g", "daemon off;"]}
]
- Fork it (https://github.com/keplersj/dockerfile.cr/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
- @yurinnick Nikolay Yurin - creator
- @keplersj Kepler Sticka-Jones - maintainer, ported to Crystal