The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Cookbook

Rich FitzJohn

2020-01-12

This vignette contains short snippets of stevedore calls to perform simple tasks, alongside a docker command line equivalent.

Conventions:

docker <- stevedore::docker_client()

Start a container with ports published to the host

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:

gws <- docker$container$run("gplates/gws", ports = "8888:80",
                            detach = TRUE, rm = TRUE)
gws$ports()
##   container_port protocol host_ip host_port
## 1             80      tcp 0.0.0.0      8888

To use a random port, omit the host portion (here 8888:) as

$ docker run --rm -p 80 gplates/gws

or, with stevedore

gws <- docker$container$run("gplates/gws", ports = 80,
                            detach = TRUE, rm = TRUE)

To determine the port you can use the ports() method

gws$ports()
##   container_port protocol host_ip host_port
## 1             80      tcp 0.0.0.0     32771

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

gws <- docker$container$run("gplates/gws", ports = TRUE, detach = TRUE)
gws$ports()
##   container_port protocol host_ip host_port
## 1             80      tcp 0.0.0.0     32772

As contributed by Brian O’Meara in #44

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.