-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A Haskell DSL for generating Dockerfiles -- -- A Haskell DSL for generating Dockerfiles @package dockerfile @version 0.2.0 -- | A Simple DSL for describing and generating Dockerfiles in Haskell -- -- Compatible w/ Docker v18.03 -- --
-- main :: IO () -- main = putStrLn $ -- dockerfile $ do -- from "debian:stable" -- maintainer "creichert creichert07@gmail.com" -- run "apt-get -y update" -- run "apt-get -y upgrade" -- cmd [ "echo", "hello world"] --module Data.Docker -- | A Docker writer monad for creating Dockerfiles type Docker a = Writer DockerFile a data CopyOpt CopyOptFrom :: String -> CopyOpt CopyOptChown :: [String] -> CopyOpt -- | Render a list of Docker instructions to a String. dockerfile :: Docker a -> String -- | Render a list of Docker instructions to a FilePath. dockerfileWrite :: FilePath -> Docker a -> IO () from :: String -> Docker () fromas :: String -> As -> Docker () run :: Script -> Docker () cmd :: [ScriptFile] -> Docker () label :: [(String, String)] -> Docker () maintainer :: String -> Docker () expose :: Int -> Docker () env :: String -> String -> Docker () add :: [FilePath] -> FilePath -> Docker () addchown :: [String] -> [FilePath] -> FilePath -> Docker () copy :: [FilePath] -> FilePath -> Docker () copyfrom :: String -> [FilePath] -> FilePath -> Docker () copychown :: [String] -> [FilePath] -> FilePath -> Docker () entrypoint :: FilePath -> [Param] -> Docker () volume :: [FilePath] -> Docker () user :: String -> Docker () workdir :: FilePath -> Docker () arg :: String -> Maybe String -> Docker () onbuild :: Instruction -> Docker () stopsignal :: String -> Docker () healthcheck :: Maybe ([String], String) -> Docker () shell :: String -> Docker () instance GHC.Show.Show Data.Docker.Instruction instance GHC.Show.Show Data.Docker.AddOpt instance GHC.Show.Show Data.Docker.CopyOpt instance Data.Docker.DockerOpt Data.Docker.AddOpt instance Data.Docker.DockerOpt Data.Docker.CopyOpt