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 AttachToContainer() NotImplemented
func BuildImage(build: BuildInfo) BuildResponse
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 CreateImage() NotImplemented
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 GenerateKube() NotImplemented
func GenerateKubeService() NotImplemented
func GetAttachSockets(name: string) Sockets
func GetContainer(name: string) ListContainerData
func GetContainerLogs(name: string) []string
func GetContainerStats(name: string) ContainerStats
func GetImage(name: string) ImageInList
func GetPod(name: string) ListPodData
func GetPodStats(name: string) string, ContainerStats
func HistoryImage(name: string) ImageHistory
func ImageExists(name: string) int
func ImportImage(source: string, reference: string, message: string, changes: []string) 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() []string
func ListContainerPorts(name: string) NotImplemented
func ListContainerProcesses(name: string, opts: []string) []string
func ListContainers() ListContainerData
func MountContainer(name: string) string
func PauseContainer(name: string) string
func PausePod(name: string) string
func RemoveContainer(name: string, force: bool) string
func RemoveImage(name: string, force: bool) string
func RemovePod(name: string, force: bool) string
func RenameContainer() NotImplemented
func ReplayKube() NotImplemented
func ResizeContainerTty() NotImplemented
func RestartContainer(name: string, timeout: int) string
func RestartPod(name: string) string
func SearchImage(name: string, limit: int) ImageSearch
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 UpdateContainer() NotImplemented
func WaitContainer(name: string) int
method AttachToContainer() NotImplemented
method BuildImage(build: BuildInfo) BuildResponse
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"
}
method CreateImage() NotImplemented
$ 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"
}
method GenerateKube() NotImplemented
method GenerateKubeService() NotImplemented
$ 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 GetContainer(name: string) ListContainerData
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 GetImage(name: string) ImageInList
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 GetVersion() Version
method HistoryImage(name: string) ImageHistory
$ varlink call -m unix:/run/podman/io.podman/io.podman.ImageExists '{"name": "imageddoesntexist"}'
{
"exists": 1
}
method ImagesPrune() []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() []string
$ varlink call -m unix:/run/podman/io.podman/io.podman.ListContainerMounts
{
"mounts": [
"/var/lib/containers/storage/overlay/b215fb622c65ba3b06c6d2341be80b76a9de7ae415ce419e65228873d4f0dcc8/merged",
"/var/lib/containers/storage/overlay/5eaf806073f79c0ed9a695180ad598e34f963f7407da1d2ccf3560bdab49b26f/merged",
"/var/lib/containers/storage/overlay/1ecb6b1dbb251737c7a24a31869096839c3719d8b250bf075f75172ddcc701e1/merged",
"/var/lib/containers/storage/overlay/7137b28a3c422165fe920cba851f2f8da271c6b5908672c451ebda03ad3919e2/merged"
]
}
method ListContainerPorts(name: string) NotImplemented
$ 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() ListContainerData
method ListImages() ImageInList
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 Ping() StringResponse
$ varlink call -m unix:/run/podman/io.podman/io.podman.Ping
{
"ping": {
"message": "OK"
}
}
method PullImage(name: string, certDir: string, creds: string, signaturePolicy: string, tlsVerify: bool) string
$ varlink call -m unix:/run/podman/io.podman/io.podman.PullImage '{"name": "registry.fedoraproject.org/fedora"}'
{
"id": "426866d6fa419873f97e5cbd320eeb22778244c1dfffa01c944db3114f55772e"
}
method PushImage(name: string, tag: string, tlsverify: bool, signaturePolicy: string, creds: string, certDir: string, compress: bool, format: string, removeSignatures: bool, signBy: string) string
$ 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"
}
method RenameContainer() NotImplemented
method ReplayKube() NotImplemented
method ResizeContainerTty() NotImplemented
$ varlink call -m unix:/run/podman/io.podman/io.podman.RestartPod '{"name": "135d71b9495f"}'
{
"pod": "135d71b9495f7c3967f536edad57750bfdb569336cd107d8aabab45565ffcfb6"
}
method SearchImage(name: string, limit: int) ImageSearch
$ 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"
}
method TopPod() NotImplemented
$ 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 UpdateContainer() NotImplemented
method WaitPod() NotImplemented
BuildInfo is used to describe user input for building images
dockerfile []string
tags []string
add_hosts []string
cgroup_parent string
cpu_period int
cpu_quota int
cpu_shares int
cpuset_cpus string
cpuset_mems string
memory string
memory_swap string
security_opts []string
shm_size string
ulimit []string
volume []string
squash bool
pull bool
pull_always bool
force_rm bool
rm bool
label []string
annotations []string
build_args map[string]
image_format string
BuildResponse is used to describe the responses for building images
logs []string
id string
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
ImageHistory describes the returned structure from ImageHistory.
id string
created string
createdBy string
tags []string
size int
comment string
ImageInList describes the structure that is returned in ListImages.
id string
parentId string
repoTags []string
repoDigests []string
created string
size int
virtualSize int
containers int
labels map[string]
isParent bool
ImageSearch is the returned structure for SearchImage. It is returned in array form.
description string
is_official bool
is_automated bool
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
ListContainerData is the returned struct for an individual container
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
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
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
tlsVerify bool
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
Version is the structure returned by GetVersion
version string
go_version string
git_commit string
built int
os_arch string
remote_api_version int
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.