Podman Service Interface and API description. The master version of this document can be found in the API.md file in the upstream libpod repository.
func Attach(name: string, detachKeys: string, start: bool)
func AttachControl(name: string)
func BuildImage(build: BuildInfo) MoreResponse
func BuildImageHierarchyMap(name: string) string
func ContainerArtifacts(name: string, artifactName: string) string
func ContainerCheckpoint(name: string, keep: bool, leaveRunning: bool, tcpEstablished: bool) string
func ContainerConfig(name: string) string
func ContainerExists(name: string) int
func ContainerInspectData(name: string, size: bool) string
func ContainerRestore(name: string, keep: bool, tcpEstablished: bool) string
func ContainerRunlabel(runlabel: Runlabel)
func ContainerStateData(name: string) string
func CreateContainer(create: Create) string
func CreateFromCC(in: []string) string
func CreatePod(create: PodCreate) string
func DeleteStoppedContainers() []string
func DeleteUnusedImages() []string
func Diff(name: string) DiffInfo
func ExportContainer(name: string, path: string) string
func ExportImage(name: string, destination: string, compress: bool, tags: []string) string
func GetAttachSockets(name: string) Sockets
func GetContainer(id: string) Container
func GetContainerLogs(name: string) []string
func GetContainerStats(name: string) ContainerStats
func GetContainerStatsWithHistory(previousStats: ContainerStats) ContainerStats
func GetContainersByContext(all: bool, latest: bool, args: []string) []string
func GetEvents(filter: []string, since: string, until: string) Event
func GetImage(id: string) Image
func GetLayersMapWithImageInfo() string
func GetPod(name: string) ListPodData
func GetPodStats(name: string) string, ContainerStats
func GetPodsByContext(all: bool, latest: bool, args: []string) []string
func GetVersion() string, string, string, string, string, int
func GetVolumes(args: []string, all: bool) Volume
func HistoryImage(name: string) ImageHistory
func ImageExists(name: string) int
func ImageSave(options: ImageSaveOptions) MoreResponse
func ImagesPrune(all: bool) []string
func InspectContainer(name: string) string
func InspectImage(name: string) string
func InspectPod(name: string) string
func KillContainer(name: string, signal: int) string
func KillPod(name: string, signal: int) string
func ListContainerChanges(name: string) ContainerChanges
func ListContainerMounts() map[string]
func ListContainerProcesses(name: string, opts: []string) []string
func ListContainers() Container
func LoadImage(name: string, inputFile: string, quiet: bool, deleteFile: bool) MoreResponse
func MountContainer(name: string) string
func PauseContainer(name: string) string
func PausePod(name: string) string
func PodStateData(name: string) string
func Ps(opts: PsOpts) PsContainer
func ReceiveFile(path: string, delete: bool) int
func RemoveContainer(name: string, force: bool, removeVolumes: bool) string
func RemoveImage(name: string, force: bool) string
func RemovePod(name: string, force: bool) string
func RestartContainer(name: string, timeout: int) string
func RestartPod(name: string) string
func SearchImages(query: string, limit: , tlsVerify: , filter: ImageSearchFilter) ImageSearchResult
func SendFile(type: string, length: int) string
func Spec(name: string) string
func StartContainer(name: string) string
func StartPod(name: string) string
func StopContainer(name: string, timeout: int) string
func StopPod(name: string, timeout: int) string
func TagImage(name: string, tagged: string) string
func TopPod(pod: string, latest: bool, descriptors: []string) []string
func UnmountContainer(name: string, force: bool)
func UnpauseContainer(name: string) string
func UnpausePod(name: string) string
func VolumeCreate(options: VolumeCreateOpts) string
func VolumeRemove(options: VolumeRemoveOpts) []string
func VolumesPrune() []string, []string
func WaitContainer(name: string, interval: int) int
Attach takes the name or ID of a container and sets up a the ability to remotely attach to its console. The start bool is whether you wish to start the container in question first.method AttachControl(name: string)
method BuildImage(build: BuildInfo) MoreResponse
method Commit(name: string, image_name: string, changes: []string, author: string, message: string, pause: bool, manifestType: string) string
method ContainerCheckpoint(name: string, keep: bool, leaveRunning: bool, tcpEstablished: bool) string
$ varlink call -m unix:/run/podman/io.podman/io.podman.ContainerExists '{"name": "flamboyant_payne"}'{
"exists": 0
}
method ContainerRunlabel(runlabel: Runlabel)
$ varlink call unix:/run/podman/io.podman/io.podman.CreatePod '{"create": {"name": "test"}}'
{
"pod": "b05dee7bd4ccfee688099fe1588a7a898d6ddd6897de9251d4671c9b0feacb2a"
}
# $ varlink call unix:/run/podman/io.podman/io.podman.CreatePod '{"create": {"infra": true, "share": ["ipc", "net", "uts"]}}'
{
"pod": "d7697449a8035f613c1a8891286502aca68fff7d5d49a85279b3bda229af3b28"
}
method DeleteStoppedContainers() []string
$ varlink call -m unix:/run/podman/io.podman/io.podman.DeleteStoppedContainers
{
"containers": [
"451410b931d00def8aa9b4f8084e4d4a39e5e04ea61f358cf53a5cf95afcdcee",
"8b60f754a3e01389494a9581ade97d35c2765b6e2f19acd2d3040c82a32d1bc0",
"cf2e99d4d3cad6073df199ed32bbe64b124f3e1aba6d78821aa8460e70d30084",
"db901a329587312366e5ecff583d08f0875b4b79294322df67d90fc6eed08fc1"
]
}
method DeleteUnusedImages() []string
$ varlink call -m unix:/run/podman/io.podman/io.podman.DeleteUnusedImages
{
"images": [
"166ea6588079559c724c15223f52927f514f73dd5c5cf2ae2d143e3b2e6e9b52",
"da86e6ba6ca197bf6bc5e9d900febd906b133eaa4750e6bed647b0fbe50ed43e",
"3ef70f7291f47dfe2b82931a993e16f5a44a0e7a68034c3e0e086d77f5829adc",
"59788edf1f3e78cd0ebe6ce1446e9d10788225db3dedcfd1a59f764bad2b2690"
]
}
$ varlink call -m unix:/run/podman/io.podman/io.podman.ExportContainer '{"name": "flamboyant_payne", "path": "/tmp/payne.tar" }'
{
"tarfile": "/tmp/payne.tar"
}
$ varlink call -m unix:/run/io.podman/io.podman.GetAttachSockets '{"name": "b7624e775431219161"}'
{
"sockets": {
"container_id": "b7624e7754312191613245ce1a46844abee60025818fe3c3f3203435623a1eca",
"control_socket": "/var/lib/containers/storage/overlay-containers/b7624e7754312191613245ce1a46844abee60025818fe3c3f3203435623a1eca/userdata/ctl",
"io_socket": "/var/run/libpod/socket/b7624e7754312191613245ce1a46844abee60025818fe3c3f3203435623a1eca/attach"
}
}
method GetContainerStats(name: string) ContainerStats
$ varlink call -m unix:/run/podman/io.podman/io.podman.GetContainerStats '{"name": "c33e4164f384"}'
{
"container": {
"block_input": 0,
"block_output": 0,
"cpu": 2.571123918839990154678e-08,
"cpu_nano": 49037378,
"id": "c33e4164f384aa9d979072a63319d66b74fd7a128be71fa68ede24f33ec6cfee",
"mem_limit": 33080606720,
"mem_perc": 2.166828456524753747370e-03,
"mem_usage": 716800,
"name": "competent_wozniak",
"net_input": 768,
"net_output": 5910,
"pids": 1,
"system_nano": 10000000
}
}
method GetContainerStatsWithHistory(previousStats: ContainerStats) ContainerStats
method GetContainersLogs(names: []string, follow: bool, latest: bool, since: string, tail: int, timestamps: bool) LogLine
method GetInfo() PodmanInfo
method GetLayersMapWithImageInfo() string
method GetPod(name: string) ListPodData
$ varlink call -m unix:/run/podman/io.podman/io.podman.GetPod '{"name": "foobar"}'
{
"pod": {
"cgroup": "machine.slice",
"containersinfo": [
{
"id": "00c130a45de0411f109f1a0cfea2e298df71db20fa939de5cab8b2160a36be45",
"name": "1840835294cf-infra",
"status": "running"
},
{
"id": "49a5cce72093a5ca47c6de86f10ad7bb36391e2d89cef765f807e460865a0ec6",
"name": "upbeat_murdock",
"status": "running"
}
],
"createdat": "2018-12-07 13:10:15.014139258 -0600 CST",
"id": "1840835294cf076a822e4e12ba4152411f131bd869e7f6a4e8b16df9b0ea5c7f",
"name": "foobar",
"numberofcontainers": "2",
"status": "Running"
}
}
method GetPodStats(name: string) string, ContainerStats
$ varlink call unix:/run/podman/io.podman/io.podman.GetPodStats '{"name": "7f62b508b6f12b11d8fe02e"}'
{
"containers": [
{
"block_input": 0,
"block_output": 0,
"cpu": 2.833470544016107524276e-08,
"cpu_nano": 54363072,
"id": "a64b51f805121fe2c5a3dc5112eb61d6ed139e3d1c99110360d08b58d48e4a93",
"mem_limit": 12276146176,
"mem_perc": 7.974359265237864966003e-03,
"mem_usage": 978944,
"name": "quirky_heisenberg",
"net_input": 866,
"net_output": 7388,
"pids": 1,
"system_nano": 20000000
}
],
"pod": "7f62b508b6f12b11d8fe02e0db4de6b9e43a7d7699b33a4fc0d574f6e82b4ebd"
}
method HistoryImage(name: string) ImageHistory
$ varlink call -m unix:/run/podman/io.podman/io.podman.ImageExists '{"name": "imageddoesntexist"}'
{
"exists": 1
}
method ImageSave(options: ImageSaveOptions) MoreResponse
method ImportImage(source: string, reference: string, message: string, changes: []string, delete: bool) string
$ varlink call -m unix:/run/podman/io.podman/io.podman.KillPod '{"name": "foobar", "signal": 15}'
{
"pod": "1840835294cf076a822e4e12ba4152411f131bd869e7f6a4e8b16df9b0ea5c7f"
}
method ListContainerChanges(name: string) ContainerChanges
method ListContainerMounts() map[string]
$ varlink call unix:/run/podman/io.podman/io.podman.ListContainerMounts
{
"mounts": {
"04e4c255269ed2545e7f8bd1395a75f7949c50c223415c00c1d54bfa20f3b3d9": "/var/lib/containers/storage/overlay/a078925828f57e20467ca31cfca8a849210d21ec7e5757332b72b6924f441c17/merged",
"1d58c319f9e881a644a5122ff84419dccf6d138f744469281446ab243ef38924": "/var/lib/containers/storage/overlay/948fcf93f8cb932f0f03fd52e3180a58627d547192ffe3b88e0013b98ddcd0d2/merged"
}
}
$ varlink call -m unix:/run/podman/io.podman/io.podman.ListContainerProcesses '{"name": "135d71b9495f", "opts": []}'
{
"container": [
" UID PID PPID C STIME TTY TIME CMD",
" 0 21220 21210 0 09:05 pts/0 00:00:00 /bin/sh",
" 0 21232 21220 0 09:05 pts/0 00:00:00 top",
" 0 21284 21220 0 09:05 pts/0 00:00:00 vi /etc/hosts"
]
}
method ListContainers() Container
method ListImages() Image
method ListPods() ListPodData
$ varlink call -m unix:/run/podman/io.podman/io.podman.ListPods
{
"pods": [
{
"cgroup": "machine.slice",
"containersinfo": [
{
"id": "00c130a45de0411f109f1a0cfea2e298df71db20fa939de5cab8b2160a36be45",
"name": "1840835294cf-infra",
"status": "running"
},
{
"id": "49a5cce72093a5ca47c6de86f10ad7bb36391e2d89cef765f807e460865a0ec6",
"name": "upbeat_murdock",
"status": "running"
}
],
"createdat": "2018-12-07 13:10:15.014139258 -0600 CST",
"id": "1840835294cf076a822e4e12ba4152411f131bd869e7f6a4e8b16df9b0ea5c7f",
"name": "foobar",
"numberofcontainers": "2",
"status": "Running"
},
{
"cgroup": "machine.slice",
"containersinfo": [
{
"id": "1ca4b7bbba14a75ba00072d4b705c77f3df87db0109afaa44d50cb37c04a477e",
"name": "784306f655c6-infra",
"status": "running"
}
],
"createdat": "2018-12-07 13:09:57.105112457 -0600 CST",
"id": "784306f655c6200aea321dd430ba685e9b2cc1f7d7528a72f3ff74ffb29485a2",
"name": "nostalgic_pike",
"numberofcontainers": "1",
"status": "Running"
}
]
}
method LoadImage(name: string, inputFile: string, quiet: bool, deleteFile: bool) MoreResponse
$ varlink call -m unix:/run/podman/io.podman/io.podman.MountContainer '{"name": "jolly_shannon"}'{
"path": "/var/lib/containers/storage/overlay/419eeb04e783ea159149ced67d9fcfc15211084d65e894792a96bedfae0470ca/merged"
}
$ varlink call -m unix:/run/podman/io.podman/io.podman.PausePod '{"name": "foobar"}'
{
"pod": "1840835294cf076a822e4e12ba4152411f131bd869e7f6a4e8b16df9b0ea5c7f"
}
method Ps(opts: PsOpts) PsContainer
method PullImage(name: string, certDir: string, creds: string, signaturePolicy: string, tlsVerify: ) MoreResponse
method PushImage(name: string, tag: string, tlsverify: , signaturePolicy: string, creds: string, certDir: string, compress: bool, format: string, removeSignatures: bool, signBy: string) MoreResponse
$ varlink call -m unix:/run/podman/io.podman/io.podman.RemoveContainer '{"name": "62f4fd98cb57"}'
{
"container": "62f4fd98cb57f529831e8f90610e54bba74bd6f02920ffb485e15376ed365c20"
}
varlink call -m unix:/run/podman/io.podman/io.podman.RemoveImage '{"name": "registry.fedoraproject.org/fedora", "force": true}'
{
"image": "426866d6fa419873f97e5cbd320eeb22778244c1dfffa01c944db3114f55772e"
}
$ varlink call -m unix:/run/podman/io.podman/io.podman.RemovePod '{"name": "62f4fd98cb57", "force": "true"}'
{
"pod": "62f4fd98cb57f529831e8f90610e54bba74bd6f02920ffb485e15376ed365c20"
}
$ varlink call -m unix:/run/podman/io.podman/io.podman.RestartPod '{"name": "135d71b9495f"}'
{
"pod": "135d71b9495f7c3967f536edad57750bfdb569336cd107d8aabab45565ffcfb6"
}
method SearchImages(query: string, limit: , tlsVerify: , filter: ImageSearchFilter) ImageSearchResult
$ varlink call -m unix:/run/podman/io.podman/io.podman.StartPod '{"name": "135d71b9495f"}'
{
"pod": "135d71b9495f7c3967f536edad57750bfdb569336cd107d8aabab45565ffcfb6",
}
$ varlink call -m unix:/run/podman/io.podman/io.podman.StopContainer '{"name": "135d71b9495f", "timeout": 5}'
{
"container": "135d71b9495f7c3967f536edad57750bfdb569336cd107d8aabab45565ffcfb6"
}
$ varlink call -m unix:/run/podman/io.podman/io.podman.StopPod '{"name": "135d71b9495f"}'
{
"pod": "135d71b9495f7c3967f536edad57750bfdb569336cd107d8aabab45565ffcfb6"
}
$ varlink call -m unix:/run/podman/io.podman/io.podman.UnmountContainer '{"name": "jolly_shannon", "force": false}'
{}
$ varlink call -m unix:/run/podman/io.podman/io.podman.UnpausePod '{"name": "foobar"}'
{
"pod": "1840835294cf076a822e4e12ba4152411f131bd869e7f6a4e8b16df9b0ea5c7f"
}
method VolumeCreate(options: VolumeCreateOpts) string
method VolumeRemove(options: VolumeRemoveOpts) []string
BuildInfo is used to describe user input for building images
additionalTags []string
annotations []string
buildArgs map[string]
buildOptions BuildOptions
cniConfigDir string
cniPluginDir string
compression string
contextDir string
defaultsMountFilePath string
dockerfiles []string
err string
forceRmIntermediateCtrs bool
iidfile string
label []string
layers bool
nocache bool
out string
output string
outputFormat string
pullPolicy string
quiet bool
remoteIntermediateCtrs bool
reportWriter string
runtimeArgs []string
signaturePolicyPath string
squash bool
BuildOptions are are used to describe describe physical attributes of the build
addHosts []string
cgroupParent string
cpuPeriod int
cpuQuota int
cpuShares int
cpusetCpus string
cpusetMems string
memory int
memorySwap int
shmSize string
ulimit []string
volume []string
id string
image string
imageid string
command []string
createdat string
runningfor string
status string
ports ContainerPortMappings
rootfssize int
rwsize int
names string
labels map[string]
mounts ContainerMount
containerrunning bool
namespaces ContainerNameSpace
ContainerChanges describes the return struct for ListContainerChanges
changed []string
added []string
deleted []string
ContainerMount describes the struct for mounts in a container
destination string
type string
source string
options []string
ContainerNamespace describes the namespace structure for an existing container
user string
uts string
pidns string
pid string
cgroup string
net string
mnt string
ipc string
ContainerPortMappings describes the struct for portmappings in an existing container
host_port string
host_ip string
protocol string
container_port string
ContainerStats is the return struct for the stats of a container
id string
name string
cpu float
cpu_nano int
system_nano int
mem_usage int
mem_limit int
mem_perc float
net_input int
net_output int
block_output int
block_input int
pids int
Create is an input structure for creating containers.
args []string
path string
changeType string
Event describes a libpod struct
id string
image string
name string
status string
time string
type string
id string
digest string
parentId string
repoTags []string
repoDigests []string
created string
size int
virtualSize int
containers int
labels map[string]
isParent bool
topLayer string
ImageHistory describes the returned structure from ImageHistory.
id string
created string
createdBy string
tags []string
size int
comment string
name string
format string
output string
outputType string
moreTags []string
quiet bool
compress bool
star_count int
Represents a single search result from SearchImages
description string
is_official bool
is_automated bool
registry string
name string
star_count int
InfoDistribution describes the the host's distribution
distribution string
version string
InfoGraphStatus describes the detailed status of the storage driver
backing_filesystem string
native_overlay_diff string
supports_d_type string
InfoHost describes the host stats portion of PodmanInfo
buildah_version string
distribution InfoDistribution
mem_free int
mem_total int
swap_free int
swap_total int
arch string
cpus int
hostname string
kernel string
os string
uptime string
InfoPodman provides details on the podman binary
compiler string
go_version string
podman_version string
git_commit string
InfoStore describes the host's storage informatoin
containers int
images int
graph_driver_name string
graph_driver_options string
graph_root string
graph_status InfoGraphStatus
run_root string
ListPodContainerInfo is a returned struct for describing containers in a pod.
name string
id string
status string
ListPodData is the returned struct for an individual pod
id string
name string
createdat string
cgroup string
status string
labels map[string]
numberofcontainers string
containersinfo ListPodContainerInfo
device string
parseLogType string
time string
msg string
cid string
MoreResponse is a struct for when responses from varlink requires longer output
logs []string
id string
comment string
containerid string
reason string
PodCreate is an input structure for creating pods. It emulates options to podman pod create. The infraCommand and infraImage options are currently NotSupported.
name string
cgroupParent string
labels map[string]
share []string
infra bool
infraCommand string
infraImage string
publish []string
PodmanInfo describes the Podman host and build
host InfoHost
registries []string
insecure_registries []string
store InfoStore
podman InfoPodmanBinary
id string
image string
command string
created string
ports string
names string
isInfra bool
status string
state string
pidNum int
rootFsSize int
rwSize int
pod string
createdAt string
exitedAt string
startedAt string
labels map[string]
nsPid string
cgroup string
ipc string
mnt string
net string
pidNs string
user string
uts string
mounts string
all bool
Runlabel describes the required input for container runlabel
image string
authfile string
certDir string
creds string
display bool
name string
pull bool
signaturePolicyPath string
label string
extraArgs []string
opts map[string]
Sockets describes sockets location for a container
container_id string
io_socket string
control_socket string
message string
name string
labels map[string]
mountPoint string
driver string
options map[string]
scope string
volumeName string
driver string
labels map[string]
options map[string]
volumes []string
all bool
force bool
ContainerNotFound means the container could not be found by the provided name or ID in local storage.
ErrorOccurred is a generic error for an error that occurs during the execution. The actual error message is includes as part of the error's text.
ImageNotFound means the image could not be found by the provided name or ID in local storage.
NoContainerRunning means none of the containers requested are running in a command that requires a running container.
NoContainersInPod means a pod has no containers on which to perform the operation. It contains the pod ID.
PodContainerError means a container associated with a pod failed to preform an operation. It contains a container ID of the container that failed.
PodNotFound means the pod could not be found by the provided name or ID in local storage.
RuntimeErrors generally means a runtime could not be found or gotten.
VolumeNotFound means the volume could not be found by the name or ID in local storage.
The Podman endpoint requires that you use a streaming connection.