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 BuildImage(build: BuildInfo) MoreResponse
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) 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 CreatePod(create: PodCreate) string
func DeleteStoppedContainers() []string
func DeleteUnusedImages() []string
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 GetImage(id: string) Image
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 MountContainer(name: string) string
func PauseContainer(name: string) string
func PausePod(name: string) string
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 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 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) int
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.CreateContainer '{"create": {"image": "alpine"}}'
{
"container": "8759dafbc0a4dc3bcfb57eeb72e4331eb73c5cc09ab968e65ce45b9ad5c4b6bb"
}
$ 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 GetInfo() PodmanInfo
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"
}
]
}
$ 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 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. It closely resembles the CreateConfig structure in libpod/pkg/spec.
args []string
cap_add []string
cap_drop []string
conmon_pidfile string
cgroup_parent string
command []string
detach bool
devices []string
dns_opt []string
dns_search []string
dns_servers []string
entrypoint []string
env map[string]
exposed_ports []string
gidmap []string
group_add []string
host_add []string
hostname string
image string
image_id string
init bool
init_path string
builtin_imgvolumes []string
id_mappings IDMappingOptions
image_volume_type string
interactive bool
ipc_mode string
labels map[string]
log_driver string
log_driver_opt []string
name string
net_mode string
network string
pid_mode string
pod string
privileged bool
publish []string
publish_all bool
quiet bool
readonly_rootfs bool
resources CreateResourceConfig
rm bool
shm_dir string
stop_signal int
stop_timeout int
subuidmap string
subgidmap string
subuidname string
subgidname string
sys_ctl map[string]
tmpfs []string
tty bool
uidmap []string
userns_mode string
user string
uts_mode string
volumes []string
work_dir string
mount_label string
process_label string
no_new_privs bool
apparmor_profile string
seccomp_profile_path string
security_opts []string
CreateResourceConfig is an input structure used to describe host attributes during container creation. It is only valid inside a Create type.
blkio_weight int
blkio_weight_device []string
cpu_period int
cpu_quota int
cpu_rt_period int
cpu_rt_runtime int
cpu_shares int
cpus float
cpuset_cpus string
cpuset_mems string
device_read_bps []string
device_read_iops []string
device_write_bps []string
device_write_iops []string
disable_oomkiller bool
kernel_memory int
memory int
memory_reservation int
memory_swap int
memory_swappiness int
oom_score_adj int
pids_limit int
shm_size int
ulimit []string
IDMap is used to describe user name spaces during container creation
container_id int
host_id int
size int
IDMappingOptions is an input structure used to described ids during container creation.
host_uid_mapping bool
host_gid_mapping bool
uid_map IDMap
gid_map IDMap
id string
parentId string
repoTags []string
repoDigests []string
created string
size int
virtualSize int
containers int
labels map[string]
isParent bool
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
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
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.