R/docker.R

Defines functions docker docker_info docker_system_info .docker_config

Documented in docker .docker_config docker_info docker_system_info

#' Home directory's docker configuration
#'
#' Begins with full-stop (dot) in order not to overlap "docker config" as a
#' command. The latter manages Docker configurations, while this function reads
#' only the calling user's configuration file.
#'
#' @export
.docker_config <- function()
  jsonlite::fromJSON(file(.docker_config.json))

.docker_config.json <- fs::path_home(".docker", "config.json")

#' System-wide Docker information
#'
#' @return List of system-wide information pairs. There are some 60 pairs,
#'   typically.
#' @export
docker_system_info <- function() docker("system", "info")

#' Docker information
#'
#' Synonym for Docker \emph{system} information.
#' @export
docker_info <- function() docker("info")

#' Run Docker
#' @param ... Docker command arguments
#' @export
docker <- function(...)
  jsonlite::fromJSON(
    system2("docker", args = c(..., "-f", '"{{json .}}"'), stdout = TRUE))
royratcliffe/canny.tudor documentation built on Oct. 17, 2022, 4:17 a.m.