3runNginxContainer :: IO ContainerID
5 h <- defaultHttpHandler
6 runDockerT (defaultClientOpts, h) $
7 do let pb = PortBinding 80 TCP [HostPort "0.0.0.0" 8000]
8 let myCreateOpts = addPortBinding pb $ defaultCreateOpts "nginx:latest"
9 cid <- createContainer myCreateOpts (Just "myNginxContainer")
11 Left err -> error $ show err
13 _ <- startContainer defaultStartOpts i
16stopNginxContainer :: ContainerID -> IO ()
17stopNginxContainer cid = do
18 h <- defaultHttpHandler
19 runDockerT (defaultClientOpts, h) $
20 do r <- stopContainer DefaultTimeout cid
22 Left _ -> error "I failed to stop the container"
25runPostgresContainer :: IO ContainerID
26runPostgresContainer = do
27 h <- defaultHttpHandler
28 runDockerT (defaultClientOpts, h) $
29 do let pb = PortBinding 5432 TCP [HostPort "0.0.0.0" 5432]
30 let b = Bind "/tmp" "/tmp" Nothing
31 let myCreateOpts = addBind b $ addPortBinding pb $ defaultCreateOpts "postgres:9.5"
32 cid <- createContainer myCreateOpts Nothing
34 Left err -> error $ show err
36 _ <- startContainer defaultStartOpts i
39-- | Example of how we can start a database container while hosting it's
40-- data in a data volume living inside another container.
41runPostgresWithDataContainer :: IO ContainerID
42runPostgresWithDataContainer = do
43 h <- defaultHttpHandler
44 runDockerT (defaultClientOpts, h) $
45 -- We use a dummy command like /bin/true because we don't want to start
46 -- the postgres database in the data container we just want it to
47 -- create a container filesystem for us.
48 do let dataOpts = setCmd "/bin/true" $ defaultCreateOpts "postgres:9.5"
49 cid <- createContainer dataOpts (Just "myDataContainer")
52 Left err -> error $ show err
53 Right i -> startContainer defaultStartOpts i
54 let pb = PortBinding 5432 TCP [HostPort "0.0.0.0" 5432]
55 -- Default permission is read-write if we don't specify anything
56 let vf = VolumeFrom "myDataContainer" Nothing
57 let myCreateOpts = addVolumeFrom vf $ addPortBinding pb $ defaultCreateOpts "postgres:9.5"
58 ccid <- createContainer myCreateOpts (Just "pgContainer")
60 Left err -> error $ show err
62 _ <- startContainer defaultStartOpts i
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list