cmd: The docker command. This should be a vector of individual docker arguments, but can also be a single commandline string. See below.
...: Other arguments to pass to processx::run .
echo: Whether to echo the output of the command to the console.
Returns
A list with the following components:
status: The exit status of the docker tool. If this is NA, then the process was killed and had no exit status.
stdout: The standard output of the command, in a character scalar.
stderr: The standard error of the command, in a character scalar.
timeout: Whether the process was killed because of a timeout.
cmdline: The command line.
The first four components are from processx::run; AzureContainers adds the last to make it easier to construct scripts that can be run outside R.
Details
This function calls the docker binary, which must be located in your search path. AzureContainers will search for the binary at package startup, and print a warning if it is not found.
The docker command should be specified as a vector of the individual arguments, which is what processx::run expects. If a single string is passed, for convenience and back-compatibility reasons call_docker will split it into arguments for you. This is prone to error, for example if you are working with pathnames that contain spaces, so it's strongly recommended to pass a vector of arguments as a general practice.
Examples
## Not run:# without any args, prints the docker help screencall_docker()# build an image: recommended usagecall_docker(c("build","-t","myimage","."))# alternative usage, will be split into individual argumentscall_docker("build -t myimage .")# list running containerscall_docker(c("container","ls"))# prune unused containers and imagescall_docker(c("container","prune","-f"))call_docker(c("image","prune","-f"))## End(Not run)
See Also
processx::run , call_docker_compose , call_kubectl for the equivalent interface to the kubectl Kubernetes tool