{r include = FALSE}
knitr::opts_chunk$set(error = FALSE)
lang_output <- function(x, lang) {
cat(c(sprintf("
%s", lang), x, "```"), sep="\n")
}
c_output <- function(x) lang_output(x, "cc")
r_output <- function(x) lang_output(x, "r")
plain_output <- function(x) lang_output(x, "plain")
This vignette contains short snippets of `stevedore` calls to perform simple tasks, alongside a docker command line equivalent. Conventions: * We assume that a `stevedore` docker client object has been created with `docker <- stevedore::docker_client()` (to avoid repetition in examples) * All docker command line examples start with `$` to represent the unix/bash prompt ``` {r } docker <- stevedore::docker_client()
``` {r include=FALSE} docker$image$pull("gplates/gws")
With docker cli:
$ docker run --rm -p 8888:80 gplates/gws
the `-p 8888:80` publishes port `80` in the container to port `8888` on the host. In `stevedore`, this can be done with: ``` {r } gws <- docker$container$run("gplates/gws", ports = "8888:80", detach = TRUE, rm = TRUE) gws$ports()
``` {r include = FALSE} gws$kill()
To use a random port, omit the host portion (here `8888:`) as
$ docker run --rm -p 80 gplates/gws
or, with `stevedore` ``` {r } gws <- docker$container$run("gplates/gws", ports = 80, detach = TRUE, rm = TRUE)
To determine the port you can use the ports()
method
gws$ports()
``` {r include = FALSE} gws$kill()
If the container declares its exposed ports using an `EXPOSE <port>` directive in the `Dockerfile` then you can automatically publish all declared ports to random host ports with `-P` as
$ docker run --rm -P gplates/gws
or with `stevedore` by using `ports = TRUE` ``` {r } gws <- docker$container$run("gplates/gws", ports = TRUE, detach = TRUE) gws$ports()
{r include = FALSE}
gws$kill()
As contributed by Brian O'Meara in #44
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.