diff --git a/404.html b/404.html index 255df829a8c..c1b04287e93 100644 --- a/404.html +++ b/404.html @@ -13,13 +13,13 @@ - +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- + \ No newline at end of file diff --git a/assets/js/abc85917.a2923a83.js b/assets/js/abc85917.0d38ce9b.js similarity index 97% rename from assets/js/abc85917.a2923a83.js rename to assets/js/abc85917.0d38ce9b.js index b544d37bac4..83253f3d942 100644 --- a/assets/js/abc85917.a2923a83.js +++ b/assets/js/abc85917.0d38ce9b.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[2896],{35318:(e,t,o)=>{o.d(t,{Zo:()=>c,kt:()=>d});var n=o(27378);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function i(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function a(e){for(var t=1;t=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var p=n.createContext({}),l=function(e){var t=n.useContext(p),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},c=function(e){var t=l(e.components);return n.createElement(p.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var o=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=l(o),d=r,f=u["".concat(p,".").concat(d)]||u[d]||m[d]||i;return o?n.createElement(f,a(a({ref:t},c),{},{components:o})):n.createElement(f,a({ref:t},c))}));function d(e,t){var o=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=o.length,a=new Array(i);a[0]=u;var s={};for(var p in t)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s.mdxType="string"==typeof e?e:r,a[1]=s;for(var l=2;l{o.r(t),o.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var n=o(25773),r=(o(27378),o(35318));const i={title:"Setting up Compose",description:"Podman Desktop can install the Compose engine.",sidebar_position:2,keywords:["compose"],tags:["compose"]},a="Setting up Compose",s={unversionedId:"compose/setting-up-compose",id:"compose/setting-up-compose",title:"Setting up Compose",description:"Podman Desktop can install the Compose engine.",source:"@site/docs/compose/setting-up-compose.md",sourceDirName:"compose",slug:"/compose/setting-up-compose",permalink:"/docs/compose/setting-up-compose",draft:!1,editUrl:"https://github.com/containers/podman-desktop/tree/main/website/docs/compose/setting-up-compose.md",tags:[{label:"compose",permalink:"/docs/tags/compose"}],version:"current",sidebarPosition:2,frontMatter:{title:"Setting up Compose",description:"Podman Desktop can install the Compose engine.",sidebar_position:2,keywords:["compose"],tags:["compose"]},sidebar:"mySidebar",previous:{title:"Compose",permalink:"/docs/compose/"},next:{title:"Running Compose files",permalink:"/docs/compose/running-compose"}},p={},l=[{value:"Procedure",id:"procedure",level:4},{value:"Verification",id:"verification",level:4},{value:"Next steps",id:"next-steps",level:4},{value:"Additional resources",id:"additional-resources",level:4}],c=(m="Icon",function(e){return console.warn("Component "+m+" was not imported, exported, or provided by MDXProvider as global scope"),(0,r.kt)("div",e)});var m;const u={toc:l};function d(e){let{components:t,...o}=e;return(0,r.kt)("wrapper",(0,n.Z)({},u,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"setting-up-compose"},"Setting up Compose"),(0,r.kt)("p",null,"Podman Desktop can install the Compose engine."),(0,r.kt)("h4",{id:"procedure"},"Procedure"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Go to ",(0,r.kt)("strong",{parentName:"li"},(0,r.kt)(c,{icon:"fa-solid fa-cog",size:"lg",mdxType:"Icon"})," Settings > Resources"),"."),(0,r.kt)("li",{parentName:"ol"},"In the ",(0,r.kt)("strong",{parentName:"li"},"Compose")," tile, click ",(0,r.kt)("strong",{parentName:"li"},"Setup"),", and follow the prompts.")),(0,r.kt)("h4",{id:"verification"},"Verification"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"The Compose reference implementation is in your ",(0,r.kt)("inlineCode",{parentName:"p"},"PATH"),", therefore, you can display the Compose engine version in a terminal:"),(0,r.kt)("pre",{parentName:"li"},(0,r.kt)("code",{parentName:"pre",className:"language-shell-session"},"$ docker-compose version\n"))),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Podman detects the same Compose version:"),(0,r.kt)("pre",{parentName:"li"},(0,r.kt)("code",{parentName:"pre",className:"language-shell-session"},"$ podman compose version\n")))),(0,r.kt)("h4",{id:"next-steps"},"Next steps"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/compose/running-compose"},"Run Compose"),".")),(0,r.kt)("h4",{id:"additional-resources"},"Additional resources"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"(Alternatively) Use an alternative Compose implementation in Python with Podman integration: ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/containers/podman-compose#installation"},"install Podman Compose"),"."),(0,r.kt)("li",{parentName:"ul"},"(Alternatively) ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/docker/compose/relases"},"Download and install Compose yourself"),".")))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[2896],{35318:(e,t,o)=>{o.d(t,{Zo:()=>c,kt:()=>d});var n=o(27378);function r(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function i(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function a(e){for(var t=1;t=0||(r[o]=e[o]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(r[o]=e[o])}return r}var p=n.createContext({}),l=function(e){var t=n.useContext(p),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},c=function(e){var t=l(e.components);return n.createElement(p.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var o=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),u=l(o),d=r,f=u["".concat(p,".").concat(d)]||u[d]||m[d]||i;return o?n.createElement(f,a(a({ref:t},c),{},{components:o})):n.createElement(f,a({ref:t},c))}));function d(e,t){var o=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=o.length,a=new Array(i);a[0]=u;var s={};for(var p in t)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s.mdxType="string"==typeof e?e:r,a[1]=s;for(var l=2;l{o.r(t),o.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var n=o(25773),r=(o(27378),o(35318));const i={title:"Setting up Compose",description:"Podman Desktop can install the Compose engine.",sidebar_position:2,keywords:["compose"],tags:["compose"]},a="Setting up Compose",s={unversionedId:"compose/setting-up-compose",id:"compose/setting-up-compose",title:"Setting up Compose",description:"Podman Desktop can install the Compose engine.",source:"@site/docs/compose/setting-up-compose.md",sourceDirName:"compose",slug:"/compose/setting-up-compose",permalink:"/docs/compose/setting-up-compose",draft:!1,editUrl:"https://github.com/containers/podman-desktop/tree/main/website/docs/compose/setting-up-compose.md",tags:[{label:"compose",permalink:"/docs/tags/compose"}],version:"current",sidebarPosition:2,frontMatter:{title:"Setting up Compose",description:"Podman Desktop can install the Compose engine.",sidebar_position:2,keywords:["compose"],tags:["compose"]},sidebar:"mySidebar",previous:{title:"Compose",permalink:"/docs/compose/"},next:{title:"Running Compose files",permalink:"/docs/compose/running-compose"}},p={},l=[{value:"Procedure",id:"procedure",level:4},{value:"Verification",id:"verification",level:4},{value:"Next steps",id:"next-steps",level:4},{value:"Additional resources",id:"additional-resources",level:4}],c=(m="Icon",function(e){return console.warn("Component "+m+" was not imported, exported, or provided by MDXProvider as global scope"),(0,r.kt)("div",e)});var m;const u={toc:l};function d(e){let{components:t,...o}=e;return(0,r.kt)("wrapper",(0,n.Z)({},u,o,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"setting-up-compose"},"Setting up Compose"),(0,r.kt)("p",null,"Podman Desktop can install the Compose engine."),(0,r.kt)("h4",{id:"procedure"},"Procedure"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Go to ",(0,r.kt)("strong",{parentName:"li"},(0,r.kt)(c,{icon:"fa-solid fa-cog",size:"lg",mdxType:"Icon"})," Settings > Resources"),"."),(0,r.kt)("li",{parentName:"ol"},"In the ",(0,r.kt)("strong",{parentName:"li"},"Compose")," tile, click ",(0,r.kt)("strong",{parentName:"li"},"Setup"),", and follow the prompts.")),(0,r.kt)("h4",{id:"verification"},"Verification"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"The Compose reference implementation is in your ",(0,r.kt)("inlineCode",{parentName:"p"},"PATH"),", therefore, you can display the Compose engine version in a terminal:"),(0,r.kt)("pre",{parentName:"li"},(0,r.kt)("code",{parentName:"pre",className:"language-shell-session"},"$ docker-compose version\n"))),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Podman detects the same Compose version:"),(0,r.kt)("pre",{parentName:"li"},(0,r.kt)("code",{parentName:"pre",className:"language-shell-session"},"$ podman compose version\n")))),(0,r.kt)("h4",{id:"next-steps"},"Next steps"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"/docs/compose/running-compose"},"Run Compose"),".")),(0,r.kt)("h4",{id:"additional-resources"},"Additional resources"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"(Alternatively) Use an alternative Compose implementation in Python with Podman integration: ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/containers/podman-compose#installation"},"install Podman Compose"),"."),(0,r.kt)("li",{parentName:"ul"},"(Alternatively) ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/docker/compose/releases"},"Download and install Compose yourself"),".")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.4bd03f2f.js b/assets/js/runtime~main.b7a466c5.js similarity index 99% rename from assets/js/runtime~main.4bd03f2f.js rename to assets/js/runtime~main.b7a466c5.js index 7eafa28a966..3cc39b2bca2 100644 --- a/assets/js/runtime~main.4bd03f2f.js +++ b/assets/js/runtime~main.b7a466c5.js @@ -1 +1 @@ -(()=>{"use strict";var e,f,a,d,c,b={},t={};function r(e){var f=t[e];if(void 0!==f)return f.exports;var a=t[e]={exports:{}};return b[e].call(a.exports,a,a.exports,r),a.exports}r.m=b,e=[],r.O=(f,a,d,c)=>{if(!a){var b=1/0;for(i=0;i=c)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,c0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[a,d,c]},r.n=e=>{var f=e&&e.__esModule?()=>e.default:()=>e;return r.d(f,{a:f}),f},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var c=Object.create(null);r.r(c);var b={};f=f||[null,a({}),a([]),a(a)];for(var t=2&d&&e;"object"==typeof t&&!~f.indexOf(t);t=a(t))Object.getOwnPropertyNames(t).forEach((f=>b[f]=()=>e[f]));return b.default=()=>e,r.d(c,b),c},r.d=(e,f)=>{for(var a in f)r.o(f,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:f[a]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((f,a)=>(r.f[a](e,f),f)),[])),r.u=e=>"assets/js/"+({10:"33942509",53:"935f2afb",70:"86f2a982",114:"e665718d",138:"54590fd2",182:"c276ecb2",203:"c6aad055",205:"83d480e9",347:"bc816bf2",397:"6194ac84",406:"0cbb83d7",465:"f7b7f9b7",506:"9aa62c0e",522:"308aae28",523:"a0323d9f",533:"b2b675dd",534:"4b8121dd",563:"c685778b",592:"b39cdcf9",649:"512fbd77",743:"61d4c13a",745:"64abd3af",809:"840a98fb",822:"a00af9f0",873:"cabda5f8",899:"b985118d",921:"c37b4a03",944:"b2e1a0c8",945:"df322e14",1021:"901c37e5",1032:"a67ca768",1046:"4cb6c19a",1074:"9e8f4e9c",1297:"34cf6fc7",1342:"a766a857",1425:"fc8a94e3",1441:"382c5d2b",1447:"4974f5d2",1477:"b2f554cd",1625:"de311ed4",1676:"819ef483",1705:"94fb813f",1713:"a7023ddc",1724:"5087625a",1830:"b00bc883",1859:"2295be0e",1896:"25622900",1981:"b799648a",2079:"1a16e8bf",2082:"e85ba0e6",2111:"79665d43",2178:"ba322490",2193:"c5b2f0f9",2217:"d7fbbe43",2242:"1dcf37fa",2323:"6c80b6fe",2339:"17896441",2451:"fb50ea3a",2472:"65a10ffa",2535:"814f3328",2549:"5c63ba15",2599:"e44de27e",2609:"6269f1c0",2667:"368cce37",2778:"608238a8",2783:"f425c855",2896:"abc85917",2938:"c95aa39f",2958:"86063cd3",3010:"56c3a9b2",3089:"a6aa9e1f",3152:"33a21d7d",3154:"c6346fcf",3163:"232c546d",3207:"6603ef13",3233:"59a6f192",3237:"1df93b7f",3259:"03ccf92d",3296:"181ef600",3317:"846a5e19",3324:"1ce91f4c",3414:"35a7a45c",3427:"bd80aa65",3505:"72486833",3584:"ed75cfcb",3608:"9e4087bc",3636:"8b4dd820",3714:"894e67a6",3751:"3720c009",3820:"a5e1f61e",3840:"562ca3e9",3870:"5df556a2",3879:"2d629ea6",3973:"f523fb3f",4013:"01a85c17",4059:"9cb03f5d",4117:"fd684bd6",4121:"55960ee5",4157:"83e10f72",4220:"2bbe04e6",4322:"69c5f318",4356:"a9a76bf7",4386:"ae79aff5",4459:"19eded63",4617:"95366386",4651:"94f3d131",4672:"03685665",4781:"12f1535e",4918:"24bda87b",4929:"330dfcdb",4940:"c11c87f7",5018:"cd509849",5240:"22de4147",5248:"6101b3fc",5326:"af231220",5375:"97615df2",5414:"724f3974",5625:"657ac0bc",5708:"f0057c03",5765:"d18d294a",5776:"f0e3a130",5803:"ff8f5ed0",6026:"51dec273",6049:"f213dd13",6088:"88efc5aa",6103:"ccc49370",6120:"d4840880",6158:"51e516cc",6308:"e8dc4d98",6317:"959a8cfe",6328:"c0d19596",6521:"014457dd",6536:"3ed6e2e9",6608:"5099f3e0",6623:"b104dd1e",6690:"4816649b",6692:"2ae2e7fe",6766:"e5638e51",6843:"9f97f9d1",6932:"aaabcfd8",7007:"8593ff01",7034:"3e03f778",7134:"0b40a488",7138:"38a042e4",7141:"b5abacaa",7149:"822c343e",7159:"a8ce95ee",7220:"7591d420",7251:"ba5b9f11",7363:"583db3ef",7366:"75281220",7377:"708d858d",7438:"9c021584",7480:"eb17771c",7536:"f6e0e63c",7573:"48b6ff5f",7622:"dbbb982f",7653:"31de1779",7679:"83245ae6",7698:"cd23aec9",7714:"7bdcd7a7",7722:"213182ef",7741:"7d88b63f",7759:"ff38b1ce",7847:"43b416ef",7875:"021eaa84",7881:"2658ced2",7918:"10ce918d",7920:"1a4e3797",8145:"006e489c",8176:"5660752d",8215:"1cfced13",8221:"6af14956",8262:"059d1c6a",8290:"3fe48f60",8445:"99245987",8502:"b4657d81",8514:"d651e2ee",8532:"d1b15a6d",8533:"f3d54061",8566:"9dce5486",8610:"6875c492",8626:"c6f0d1b2",8768:"524ce9a0",8800:"e6fb1369",8811:"3289a752",8860:"0d040286",8893:"ba1dc56d",8960:"6bf124c2",8989:"d4bf7e47",9043:"473de3ed",9106:"72dd8f7e",9133:"02e265ea",9179:"79551407",9341:"a35cf155",9372:"07f59c2a",9387:"b0f1c099",9469:"3b85f227",9514:"1be78505",9558:"f41c0109",9579:"09b168a7",9626:"81e486a8",9671:"0e384e19",9817:"4f561e31",9924:"df203c0f",9944:"08570680",9973:"4213e5b1",9979:"987564cc"}[e]||e)+"."+{10:"b08d2c29",53:"56f5569d",70:"5d814a9b",114:"22a38c18",138:"05d927ca",182:"c229eebf",203:"6430dd86",205:"7e07f847",347:"6de1587c",397:"06fc0336",406:"48100623",465:"1cbd3a08",506:"3f0bed63",522:"6de37e89",523:"5edc8952",533:"b499b841",534:"12bc2380",563:"995980f6",592:"581e4b87",649:"10a887e2",743:"89c00deb",745:"769a0da2",809:"ff094bc8",822:"ba62cf4a",873:"919ad21c",899:"06293860",921:"f0615854",944:"a49ec1c2",945:"e05bb438",1021:"d78c26da",1032:"8ea0ed17",1046:"5cee8554",1074:"d3f71dc8",1297:"dee27ee5",1342:"ad19af20",1425:"3370fdba",1441:"f8883a2a",1447:"a45d676f",1477:"12630173",1625:"0d61b40e",1676:"57da3d2f",1705:"fa2462b2",1713:"299c19b3",1724:"2461c2e7",1830:"9c19e957",1859:"7e645e6c",1896:"a5170eed",1947:"bda1afcc",1981:"4e218966",2079:"1fb6071f",2082:"bdc07deb",2111:"b6f563f5",2178:"13069292",2193:"4d4620c9",2217:"60800c25",2242:"8e672378",2323:"f0b907ab",2339:"edf3f98f",2451:"9166135e",2472:"262fc4a4",2535:"2e15ba67",2549:"808af98c",2599:"bbd5ecaa",2609:"dbc29b18",2667:"37faff5c",2778:"d790be48",2783:"23009f9f",2896:"a2923a83",2938:"309e0760",2958:"5d79ab5f",3010:"d11d7eb3",3089:"a7e9e028",3152:"993d4689",3154:"fb63ac2a",3163:"4913f1cb",3207:"a41cd11b",3233:"5519362d",3237:"bed82708",3259:"d48e5470",3296:"717aa32f",3317:"7ce74ef2",3324:"a67d3beb",3414:"f94d9eaa",3427:"07ae56ee",3505:"486eb6ae",3584:"b0f7a881",3608:"6b194cc3",3636:"bac4874d",3714:"086e1f22",3751:"e6a1ff2c",3820:"75a6ed57",3840:"c43abc7d",3866:"6f22f670",3870:"74568e5d",3879:"f8d34b3d",3893:"43838999",3973:"83c24d96",4013:"17c10467",4059:"2e148b4d",4117:"ab52d392",4121:"42bd0c53",4157:"8f491252",4178:"a197f856",4220:"8cf11d92",4322:"1d5a3008",4356:"8c8bcc20",4386:"da92827f",4459:"997f1191",4617:"61371bc1",4651:"fd0510fd",4670:"c6602195",4672:"73c9ed61",4781:"007e12d4",4918:"cbf6de50",4929:"5351f9c1",4940:"09f6f3d2",5018:"9d824327",5240:"641ec7fc",5248:"e7820b8e",5326:"6661ae24",5375:"f19ca62b",5414:"21a11f92",5625:"c4b6a5f2",5708:"9e67218b",5765:"efe24b1a",5776:"9289db31",5803:"7724e22b",6026:"6c6a5338",6049:"2f6bc428",6088:"0e41b8ce",6103:"1191af98",6120:"11c2c21b",6158:"b48a3263",6308:"326b3a51",6317:"d67837c1",6328:"9713d629",6521:"ca826858",6536:"c4261de2",6608:"d1485738",6623:"e06e9c08",6690:"e532397c",6692:"9034be99",6766:"d8eb51cb",6843:"efcf1441",6932:"1dc6e4a1",7007:"e073c454",7034:"1f958f58",7134:"c4e78e68",7138:"3f5eca4c",7141:"aa741b27",7149:"663ec94f",7159:"49c3ddcc",7171:"ed520d1e",7220:"31bb995a",7251:"75e3d1b3",7363:"95f0b138",7366:"26b00857",7377:"b821d601",7438:"ab961c74",7480:"21d051e3",7536:"3a66b423",7573:"09c42214",7622:"b17356bb",7653:"c909c603",7679:"03338c23",7698:"3d0c4450",7714:"b9bb2cdb",7722:"d40b4c8b",7735:"b12007f7",7741:"ff546f54",7759:"c79de414",7847:"2c70676d",7849:"bb1a7e66",7875:"adb70247",7881:"e7f02a58",7918:"31bdb7d6",7920:"a7306422",8145:"ddaf0a3e",8176:"7df7d400",8215:"bcf97e6c",8221:"0aaa6e17",8262:"c004698d",8290:"f2aad630",8306:"5f30899d",8445:"4fc783d0",8502:"7b175b26",8514:"43a52878",8532:"51e398af",8533:"caa2477a",8566:"1e0f7d27",8610:"58abc53b",8626:"d16e7ea7",8768:"a65a917e",8777:"e2ef1f93",8800:"a0bdbe06",8811:"fbe331d3",8860:"73ca0e0b",8893:"dfc51795",8960:"2d89c3a9",8989:"17f0efbe",9043:"ac1acbcd",9106:"3d077178",9127:"02f87f8d",9133:"7057011c",9179:"9200eda1",9341:"afc58592",9372:"6701e01f",9387:"eaedac00",9469:"3235e126",9514:"0e6e9a66",9558:"7d7d2efa",9579:"b8dde927",9626:"9db760d6",9671:"f2f2b025",9817:"5036f126",9924:"dc218f14",9944:"161e6f22",9973:"eb013531",9979:"6bd3f7f0"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,f)=>Object.prototype.hasOwnProperty.call(e,f),d={},c="docs:",r.l=(e,f,a,b)=>{if(d[e])d[e].push(f);else{var t,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var c=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),c&&c.forEach((e=>e(a))),f)return f(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"2339",25622900:"1896",33942509:"10",72486833:"3505",75281220:"7366",79551407:"9179",95366386:"4617",99245987:"8445","935f2afb":"53","86f2a982":"70",e665718d:"114","54590fd2":"138",c276ecb2:"182",c6aad055:"203","83d480e9":"205",bc816bf2:"347","6194ac84":"397","0cbb83d7":"406",f7b7f9b7:"465","9aa62c0e":"506","308aae28":"522",a0323d9f:"523",b2b675dd:"533","4b8121dd":"534",c685778b:"563",b39cdcf9:"592","512fbd77":"649","61d4c13a":"743","64abd3af":"745","840a98fb":"809",a00af9f0:"822",cabda5f8:"873",b985118d:"899",c37b4a03:"921",b2e1a0c8:"944",df322e14:"945","901c37e5":"1021",a67ca768:"1032","4cb6c19a":"1046","9e8f4e9c":"1074","34cf6fc7":"1297",a766a857:"1342",fc8a94e3:"1425","382c5d2b":"1441","4974f5d2":"1447",b2f554cd:"1477",de311ed4:"1625","819ef483":"1676","94fb813f":"1705",a7023ddc:"1713","5087625a":"1724",b00bc883:"1830","2295be0e":"1859",b799648a:"1981","1a16e8bf":"2079",e85ba0e6:"2082","79665d43":"2111",ba322490:"2178",c5b2f0f9:"2193",d7fbbe43:"2217","1dcf37fa":"2242","6c80b6fe":"2323",fb50ea3a:"2451","65a10ffa":"2472","814f3328":"2535","5c63ba15":"2549",e44de27e:"2599","6269f1c0":"2609","368cce37":"2667","608238a8":"2778",f425c855:"2783",abc85917:"2896",c95aa39f:"2938","86063cd3":"2958","56c3a9b2":"3010",a6aa9e1f:"3089","33a21d7d":"3152",c6346fcf:"3154","232c546d":"3163","6603ef13":"3207","59a6f192":"3233","1df93b7f":"3237","03ccf92d":"3259","181ef600":"3296","846a5e19":"3317","1ce91f4c":"3324","35a7a45c":"3414",bd80aa65:"3427",ed75cfcb:"3584","9e4087bc":"3608","8b4dd820":"3636","894e67a6":"3714","3720c009":"3751",a5e1f61e:"3820","562ca3e9":"3840","5df556a2":"3870","2d629ea6":"3879",f523fb3f:"3973","01a85c17":"4013","9cb03f5d":"4059",fd684bd6:"4117","55960ee5":"4121","83e10f72":"4157","2bbe04e6":"4220","69c5f318":"4322",a9a76bf7:"4356",ae79aff5:"4386","19eded63":"4459","94f3d131":"4651","03685665":"4672","12f1535e":"4781","24bda87b":"4918","330dfcdb":"4929",c11c87f7:"4940",cd509849:"5018","22de4147":"5240","6101b3fc":"5248",af231220:"5326","97615df2":"5375","724f3974":"5414","657ac0bc":"5625",f0057c03:"5708",d18d294a:"5765",f0e3a130:"5776",ff8f5ed0:"5803","51dec273":"6026",f213dd13:"6049","88efc5aa":"6088",ccc49370:"6103",d4840880:"6120","51e516cc":"6158",e8dc4d98:"6308","959a8cfe":"6317",c0d19596:"6328","014457dd":"6521","3ed6e2e9":"6536","5099f3e0":"6608",b104dd1e:"6623","4816649b":"6690","2ae2e7fe":"6692",e5638e51:"6766","9f97f9d1":"6843",aaabcfd8:"6932","8593ff01":"7007","3e03f778":"7034","0b40a488":"7134","38a042e4":"7138",b5abacaa:"7141","822c343e":"7149",a8ce95ee:"7159","7591d420":"7220",ba5b9f11:"7251","583db3ef":"7363","708d858d":"7377","9c021584":"7438",eb17771c:"7480",f6e0e63c:"7536","48b6ff5f":"7573",dbbb982f:"7622","31de1779":"7653","83245ae6":"7679",cd23aec9:"7698","7bdcd7a7":"7714","213182ef":"7722","7d88b63f":"7741",ff38b1ce:"7759","43b416ef":"7847","021eaa84":"7875","2658ced2":"7881","10ce918d":"7918","1a4e3797":"7920","006e489c":"8145","5660752d":"8176","1cfced13":"8215","6af14956":"8221","059d1c6a":"8262","3fe48f60":"8290",b4657d81:"8502",d651e2ee:"8514",d1b15a6d:"8532",f3d54061:"8533","9dce5486":"8566","6875c492":"8610",c6f0d1b2:"8626","524ce9a0":"8768",e6fb1369:"8800","3289a752":"8811","0d040286":"8860",ba1dc56d:"8893","6bf124c2":"8960",d4bf7e47:"8989","473de3ed":"9043","72dd8f7e":"9106","02e265ea":"9133",a35cf155:"9341","07f59c2a":"9372",b0f1c099:"9387","3b85f227":"9469","1be78505":"9514",f41c0109:"9558","09b168a7":"9579","81e486a8":"9626","0e384e19":"9671","4f561e31":"9817",df203c0f:"9924","08570680":"9944","4213e5b1":"9973","987564cc":"9979"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(f,a)=>{var d=r.o(e,f)?e[f]:void 0;if(0!==d)if(d)a.push(d[2]);else if(/^(1303|532)$/.test(f))e[f]=0;else{var c=new Promise(((a,c)=>d=e[f]=[a,c]));a.push(d[2]=c);var b=r.p+r.u(f),t=new Error;r.l(b,(a=>{if(r.o(e,f)&&(0!==(d=e[f])&&(e[f]=void 0),d)){var c=a&&("load"===a.type?"missing":a.type),b=a&&a.target&&a.target.src;t.message="Loading chunk "+f+" failed.\n("+c+": "+b+")",t.name="ChunkLoadError",t.type=c,t.request=b,d[1](t)}}),"chunk-"+f,f)}},r.O.j=f=>0===e[f];var f=(f,a)=>{var d,c,b=a[0],t=a[1],o=a[2],n=0;if(b.some((f=>0!==e[f]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(f&&f(a);n{"use strict";var e,f,a,d,c,b={},t={};function r(e){var f=t[e];if(void 0!==f)return f.exports;var a=t[e]={exports:{}};return b[e].call(a.exports,a,a.exports,r),a.exports}r.m=b,e=[],r.O=(f,a,d,c)=>{if(!a){var b=1/0;for(i=0;i=c)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,c0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[a,d,c]},r.n=e=>{var f=e&&e.__esModule?()=>e.default:()=>e;return r.d(f,{a:f}),f},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var c=Object.create(null);r.r(c);var b={};f=f||[null,a({}),a([]),a(a)];for(var t=2&d&&e;"object"==typeof t&&!~f.indexOf(t);t=a(t))Object.getOwnPropertyNames(t).forEach((f=>b[f]=()=>e[f]));return b.default=()=>e,r.d(c,b),c},r.d=(e,f)=>{for(var a in f)r.o(f,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:f[a]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((f,a)=>(r.f[a](e,f),f)),[])),r.u=e=>"assets/js/"+({10:"33942509",53:"935f2afb",70:"86f2a982",114:"e665718d",138:"54590fd2",182:"c276ecb2",203:"c6aad055",205:"83d480e9",347:"bc816bf2",397:"6194ac84",406:"0cbb83d7",465:"f7b7f9b7",506:"9aa62c0e",522:"308aae28",523:"a0323d9f",533:"b2b675dd",534:"4b8121dd",563:"c685778b",592:"b39cdcf9",649:"512fbd77",743:"61d4c13a",745:"64abd3af",809:"840a98fb",822:"a00af9f0",873:"cabda5f8",899:"b985118d",921:"c37b4a03",944:"b2e1a0c8",945:"df322e14",1021:"901c37e5",1032:"a67ca768",1046:"4cb6c19a",1074:"9e8f4e9c",1297:"34cf6fc7",1342:"a766a857",1425:"fc8a94e3",1441:"382c5d2b",1447:"4974f5d2",1477:"b2f554cd",1625:"de311ed4",1676:"819ef483",1705:"94fb813f",1713:"a7023ddc",1724:"5087625a",1830:"b00bc883",1859:"2295be0e",1896:"25622900",1981:"b799648a",2079:"1a16e8bf",2082:"e85ba0e6",2111:"79665d43",2178:"ba322490",2193:"c5b2f0f9",2217:"d7fbbe43",2242:"1dcf37fa",2323:"6c80b6fe",2339:"17896441",2451:"fb50ea3a",2472:"65a10ffa",2535:"814f3328",2549:"5c63ba15",2599:"e44de27e",2609:"6269f1c0",2667:"368cce37",2778:"608238a8",2783:"f425c855",2896:"abc85917",2938:"c95aa39f",2958:"86063cd3",3010:"56c3a9b2",3089:"a6aa9e1f",3152:"33a21d7d",3154:"c6346fcf",3163:"232c546d",3207:"6603ef13",3233:"59a6f192",3237:"1df93b7f",3259:"03ccf92d",3296:"181ef600",3317:"846a5e19",3324:"1ce91f4c",3414:"35a7a45c",3427:"bd80aa65",3505:"72486833",3584:"ed75cfcb",3608:"9e4087bc",3636:"8b4dd820",3714:"894e67a6",3751:"3720c009",3820:"a5e1f61e",3840:"562ca3e9",3870:"5df556a2",3879:"2d629ea6",3973:"f523fb3f",4013:"01a85c17",4059:"9cb03f5d",4117:"fd684bd6",4121:"55960ee5",4157:"83e10f72",4220:"2bbe04e6",4322:"69c5f318",4356:"a9a76bf7",4386:"ae79aff5",4459:"19eded63",4617:"95366386",4651:"94f3d131",4672:"03685665",4781:"12f1535e",4918:"24bda87b",4929:"330dfcdb",4940:"c11c87f7",5018:"cd509849",5240:"22de4147",5248:"6101b3fc",5326:"af231220",5375:"97615df2",5414:"724f3974",5625:"657ac0bc",5708:"f0057c03",5765:"d18d294a",5776:"f0e3a130",5803:"ff8f5ed0",6026:"51dec273",6049:"f213dd13",6088:"88efc5aa",6103:"ccc49370",6120:"d4840880",6158:"51e516cc",6308:"e8dc4d98",6317:"959a8cfe",6328:"c0d19596",6521:"014457dd",6536:"3ed6e2e9",6608:"5099f3e0",6623:"b104dd1e",6690:"4816649b",6692:"2ae2e7fe",6766:"e5638e51",6843:"9f97f9d1",6932:"aaabcfd8",7007:"8593ff01",7034:"3e03f778",7134:"0b40a488",7138:"38a042e4",7141:"b5abacaa",7149:"822c343e",7159:"a8ce95ee",7220:"7591d420",7251:"ba5b9f11",7363:"583db3ef",7366:"75281220",7377:"708d858d",7438:"9c021584",7480:"eb17771c",7536:"f6e0e63c",7573:"48b6ff5f",7622:"dbbb982f",7653:"31de1779",7679:"83245ae6",7698:"cd23aec9",7714:"7bdcd7a7",7722:"213182ef",7741:"7d88b63f",7759:"ff38b1ce",7847:"43b416ef",7875:"021eaa84",7881:"2658ced2",7918:"10ce918d",7920:"1a4e3797",8145:"006e489c",8176:"5660752d",8215:"1cfced13",8221:"6af14956",8262:"059d1c6a",8290:"3fe48f60",8445:"99245987",8502:"b4657d81",8514:"d651e2ee",8532:"d1b15a6d",8533:"f3d54061",8566:"9dce5486",8610:"6875c492",8626:"c6f0d1b2",8768:"524ce9a0",8800:"e6fb1369",8811:"3289a752",8860:"0d040286",8893:"ba1dc56d",8960:"6bf124c2",8989:"d4bf7e47",9043:"473de3ed",9106:"72dd8f7e",9133:"02e265ea",9179:"79551407",9341:"a35cf155",9372:"07f59c2a",9387:"b0f1c099",9469:"3b85f227",9514:"1be78505",9558:"f41c0109",9579:"09b168a7",9626:"81e486a8",9671:"0e384e19",9817:"4f561e31",9924:"df203c0f",9944:"08570680",9973:"4213e5b1",9979:"987564cc"}[e]||e)+"."+{10:"b08d2c29",53:"56f5569d",70:"5d814a9b",114:"22a38c18",138:"05d927ca",182:"c229eebf",203:"6430dd86",205:"7e07f847",347:"6de1587c",397:"06fc0336",406:"48100623",465:"1cbd3a08",506:"3f0bed63",522:"6de37e89",523:"5edc8952",533:"b499b841",534:"12bc2380",563:"995980f6",592:"581e4b87",649:"10a887e2",743:"89c00deb",745:"769a0da2",809:"ff094bc8",822:"ba62cf4a",873:"919ad21c",899:"06293860",921:"f0615854",944:"a49ec1c2",945:"e05bb438",1021:"d78c26da",1032:"8ea0ed17",1046:"5cee8554",1074:"d3f71dc8",1297:"dee27ee5",1342:"ad19af20",1425:"3370fdba",1441:"f8883a2a",1447:"a45d676f",1477:"12630173",1625:"0d61b40e",1676:"57da3d2f",1705:"fa2462b2",1713:"299c19b3",1724:"2461c2e7",1830:"9c19e957",1859:"7e645e6c",1896:"a5170eed",1947:"bda1afcc",1981:"4e218966",2079:"1fb6071f",2082:"bdc07deb",2111:"b6f563f5",2178:"13069292",2193:"4d4620c9",2217:"60800c25",2242:"8e672378",2323:"f0b907ab",2339:"edf3f98f",2451:"9166135e",2472:"262fc4a4",2535:"2e15ba67",2549:"808af98c",2599:"bbd5ecaa",2609:"dbc29b18",2667:"37faff5c",2778:"d790be48",2783:"23009f9f",2896:"0d38ce9b",2938:"309e0760",2958:"5d79ab5f",3010:"d11d7eb3",3089:"a7e9e028",3152:"993d4689",3154:"fb63ac2a",3163:"4913f1cb",3207:"a41cd11b",3233:"5519362d",3237:"bed82708",3259:"d48e5470",3296:"717aa32f",3317:"7ce74ef2",3324:"a67d3beb",3414:"f94d9eaa",3427:"07ae56ee",3505:"486eb6ae",3584:"b0f7a881",3608:"6b194cc3",3636:"bac4874d",3714:"086e1f22",3751:"e6a1ff2c",3820:"75a6ed57",3840:"c43abc7d",3866:"6f22f670",3870:"74568e5d",3879:"f8d34b3d",3893:"43838999",3973:"83c24d96",4013:"17c10467",4059:"2e148b4d",4117:"ab52d392",4121:"42bd0c53",4157:"8f491252",4178:"a197f856",4220:"8cf11d92",4322:"1d5a3008",4356:"8c8bcc20",4386:"da92827f",4459:"997f1191",4617:"61371bc1",4651:"fd0510fd",4670:"c6602195",4672:"73c9ed61",4781:"007e12d4",4918:"cbf6de50",4929:"5351f9c1",4940:"09f6f3d2",5018:"9d824327",5240:"641ec7fc",5248:"e7820b8e",5326:"6661ae24",5375:"f19ca62b",5414:"21a11f92",5625:"c4b6a5f2",5708:"9e67218b",5765:"efe24b1a",5776:"9289db31",5803:"7724e22b",6026:"6c6a5338",6049:"2f6bc428",6088:"0e41b8ce",6103:"1191af98",6120:"11c2c21b",6158:"b48a3263",6308:"326b3a51",6317:"d67837c1",6328:"9713d629",6521:"ca826858",6536:"c4261de2",6608:"d1485738",6623:"e06e9c08",6690:"e532397c",6692:"9034be99",6766:"d8eb51cb",6843:"efcf1441",6932:"1dc6e4a1",7007:"e073c454",7034:"1f958f58",7134:"c4e78e68",7138:"3f5eca4c",7141:"aa741b27",7149:"663ec94f",7159:"49c3ddcc",7171:"ed520d1e",7220:"31bb995a",7251:"75e3d1b3",7363:"95f0b138",7366:"26b00857",7377:"b821d601",7438:"ab961c74",7480:"21d051e3",7536:"3a66b423",7573:"09c42214",7622:"b17356bb",7653:"c909c603",7679:"03338c23",7698:"3d0c4450",7714:"b9bb2cdb",7722:"d40b4c8b",7735:"b12007f7",7741:"ff546f54",7759:"c79de414",7847:"2c70676d",7849:"bb1a7e66",7875:"adb70247",7881:"e7f02a58",7918:"31bdb7d6",7920:"a7306422",8145:"ddaf0a3e",8176:"7df7d400",8215:"bcf97e6c",8221:"0aaa6e17",8262:"c004698d",8290:"f2aad630",8306:"5f30899d",8445:"4fc783d0",8502:"7b175b26",8514:"43a52878",8532:"51e398af",8533:"caa2477a",8566:"1e0f7d27",8610:"58abc53b",8626:"d16e7ea7",8768:"a65a917e",8777:"e2ef1f93",8800:"a0bdbe06",8811:"fbe331d3",8860:"73ca0e0b",8893:"dfc51795",8960:"2d89c3a9",8989:"17f0efbe",9043:"ac1acbcd",9106:"3d077178",9127:"02f87f8d",9133:"7057011c",9179:"9200eda1",9341:"afc58592",9372:"6701e01f",9387:"eaedac00",9469:"3235e126",9514:"0e6e9a66",9558:"7d7d2efa",9579:"b8dde927",9626:"9db760d6",9671:"f2f2b025",9817:"5036f126",9924:"dc218f14",9944:"161e6f22",9973:"eb013531",9979:"6bd3f7f0"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,f)=>Object.prototype.hasOwnProperty.call(e,f),d={},c="docs:",r.l=(e,f,a,b)=>{if(d[e])d[e].push(f);else{var t,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var c=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),c&&c.forEach((e=>e(a))),f)return f(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"2339",25622900:"1896",33942509:"10",72486833:"3505",75281220:"7366",79551407:"9179",95366386:"4617",99245987:"8445","935f2afb":"53","86f2a982":"70",e665718d:"114","54590fd2":"138",c276ecb2:"182",c6aad055:"203","83d480e9":"205",bc816bf2:"347","6194ac84":"397","0cbb83d7":"406",f7b7f9b7:"465","9aa62c0e":"506","308aae28":"522",a0323d9f:"523",b2b675dd:"533","4b8121dd":"534",c685778b:"563",b39cdcf9:"592","512fbd77":"649","61d4c13a":"743","64abd3af":"745","840a98fb":"809",a00af9f0:"822",cabda5f8:"873",b985118d:"899",c37b4a03:"921",b2e1a0c8:"944",df322e14:"945","901c37e5":"1021",a67ca768:"1032","4cb6c19a":"1046","9e8f4e9c":"1074","34cf6fc7":"1297",a766a857:"1342",fc8a94e3:"1425","382c5d2b":"1441","4974f5d2":"1447",b2f554cd:"1477",de311ed4:"1625","819ef483":"1676","94fb813f":"1705",a7023ddc:"1713","5087625a":"1724",b00bc883:"1830","2295be0e":"1859",b799648a:"1981","1a16e8bf":"2079",e85ba0e6:"2082","79665d43":"2111",ba322490:"2178",c5b2f0f9:"2193",d7fbbe43:"2217","1dcf37fa":"2242","6c80b6fe":"2323",fb50ea3a:"2451","65a10ffa":"2472","814f3328":"2535","5c63ba15":"2549",e44de27e:"2599","6269f1c0":"2609","368cce37":"2667","608238a8":"2778",f425c855:"2783",abc85917:"2896",c95aa39f:"2938","86063cd3":"2958","56c3a9b2":"3010",a6aa9e1f:"3089","33a21d7d":"3152",c6346fcf:"3154","232c546d":"3163","6603ef13":"3207","59a6f192":"3233","1df93b7f":"3237","03ccf92d":"3259","181ef600":"3296","846a5e19":"3317","1ce91f4c":"3324","35a7a45c":"3414",bd80aa65:"3427",ed75cfcb:"3584","9e4087bc":"3608","8b4dd820":"3636","894e67a6":"3714","3720c009":"3751",a5e1f61e:"3820","562ca3e9":"3840","5df556a2":"3870","2d629ea6":"3879",f523fb3f:"3973","01a85c17":"4013","9cb03f5d":"4059",fd684bd6:"4117","55960ee5":"4121","83e10f72":"4157","2bbe04e6":"4220","69c5f318":"4322",a9a76bf7:"4356",ae79aff5:"4386","19eded63":"4459","94f3d131":"4651","03685665":"4672","12f1535e":"4781","24bda87b":"4918","330dfcdb":"4929",c11c87f7:"4940",cd509849:"5018","22de4147":"5240","6101b3fc":"5248",af231220:"5326","97615df2":"5375","724f3974":"5414","657ac0bc":"5625",f0057c03:"5708",d18d294a:"5765",f0e3a130:"5776",ff8f5ed0:"5803","51dec273":"6026",f213dd13:"6049","88efc5aa":"6088",ccc49370:"6103",d4840880:"6120","51e516cc":"6158",e8dc4d98:"6308","959a8cfe":"6317",c0d19596:"6328","014457dd":"6521","3ed6e2e9":"6536","5099f3e0":"6608",b104dd1e:"6623","4816649b":"6690","2ae2e7fe":"6692",e5638e51:"6766","9f97f9d1":"6843",aaabcfd8:"6932","8593ff01":"7007","3e03f778":"7034","0b40a488":"7134","38a042e4":"7138",b5abacaa:"7141","822c343e":"7149",a8ce95ee:"7159","7591d420":"7220",ba5b9f11:"7251","583db3ef":"7363","708d858d":"7377","9c021584":"7438",eb17771c:"7480",f6e0e63c:"7536","48b6ff5f":"7573",dbbb982f:"7622","31de1779":"7653","83245ae6":"7679",cd23aec9:"7698","7bdcd7a7":"7714","213182ef":"7722","7d88b63f":"7741",ff38b1ce:"7759","43b416ef":"7847","021eaa84":"7875","2658ced2":"7881","10ce918d":"7918","1a4e3797":"7920","006e489c":"8145","5660752d":"8176","1cfced13":"8215","6af14956":"8221","059d1c6a":"8262","3fe48f60":"8290",b4657d81:"8502",d651e2ee:"8514",d1b15a6d:"8532",f3d54061:"8533","9dce5486":"8566","6875c492":"8610",c6f0d1b2:"8626","524ce9a0":"8768",e6fb1369:"8800","3289a752":"8811","0d040286":"8860",ba1dc56d:"8893","6bf124c2":"8960",d4bf7e47:"8989","473de3ed":"9043","72dd8f7e":"9106","02e265ea":"9133",a35cf155:"9341","07f59c2a":"9372",b0f1c099:"9387","3b85f227":"9469","1be78505":"9514",f41c0109:"9558","09b168a7":"9579","81e486a8":"9626","0e384e19":"9671","4f561e31":"9817",df203c0f:"9924","08570680":"9944","4213e5b1":"9973","987564cc":"9979"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(f,a)=>{var d=r.o(e,f)?e[f]:void 0;if(0!==d)if(d)a.push(d[2]);else if(/^(1303|532)$/.test(f))e[f]=0;else{var c=new Promise(((a,c)=>d=e[f]=[a,c]));a.push(d[2]=c);var b=r.p+r.u(f),t=new Error;r.l(b,(a=>{if(r.o(e,f)&&(0!==(d=e[f])&&(e[f]=void 0),d)){var c=a&&("load"===a.type?"missing":a.type),b=a&&a.target&&a.target.src;t.message="Loading chunk "+f+" failed.\n("+c+": "+b+")",t.name="ChunkLoadError",t.type=c,t.request=b,d[1](t)}}),"chunk-"+f,f)}},r.O.j=f=>0===e[f];var f=(f,a)=>{var d,c,b=a[0],t=a[1],o=a[2],n=0;if(b.some((f=>0!==e[f]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(f&&f(a);n - + @@ -34,7 +34,7 @@ of Podman Desktop: not just local container engines, but Kubernetes too. More im providing tools that allow you to manage both environments and seamlessly move between them.

Some of these features were available in development mode over the last few releases, but since they are now in the release build, we will do a full roundup and talk about all the Kind features.

  • Kind Installation: Install Kind from the status bar
  • Manage Kind Clusters: Create and manage Kind clusters from Settings > Resources
  • Using Kind: Deploying YAML and sharing images to a cluster
  • Kind Ingress: Install a Contour ingress controller
  • UX and UI Improvements: Updated preferences and telemetry prompt

Podman Desktop 0.14 is now available. Click here to download it!

Podman-desktop-0-14-hero

· 4 min read
Tim deBoer

This release note covers Podman Desktop 0.13 release changes.

  • Podman Version: Podman 4.4.4 now included in Windows and Mac installers.
  • Compose: Support for installing Docker Compose.
  • Extensions: Improved extension support for Podman Desktop with additional capabilities.
  • UX and UI Improvements: Welcome page, task manager, resources, and update alerts.

Podman Desktop 0.13 is now available. Click here to download it!

Podman-desktop-0-13-hero

· 5 min read
Florent Benoit

The 5 things to know being a Docker user by using Podman Desktop:

  • Use a single UI: Podman Desktop works with several container engines, including Docker.
  • The compatibility mode: How to ensure tools are working with Podman instead of Docker.
  • Compose support: How to work with Compose files and Podman.
  • Kubernetes support: How to use Kubernetes with Podman.
  • Security: Use rootless mode or containers without root privileges.

5-things-to-know-for-a-docker-user-hero

· 5 min read
Stevan Le Meur

This release note covers Podman Desktop 0.12 release changes.

  • Podman Version: Podman 4.4.1 now included in Windows and Mac installers.
  • Containers Configuration: Configure port mappings for an image without exported ports.
  • Windows Home Support: Podman Desktop now supports Windows Home Edition.
  • Start minimized: Option to start Podman Desktop minimized to system tray.
  • UX and UI Improvements: Consistent actions, placeholder for logs, unified icons and others.

Podman Desktop 0.12 is now available. Click here to download it!

podman-desktop-0-12-hero

· 10 min read
Stevan Le Meur

This release note covers Podman Desktop 0.11 release changes.

  • Air-Gapped Installation: New all-in-one binaries for air-gapped installation.
  • Feedback: Submit feedback directly from Podman Desktop.
  • Docker Compatibility Mode: Information about the Docker compatibility mode.
  • Proxy Setting: Toggle on/off the proxy setting.
  • Deploy to Kubernetes: Select the namespace to deploy to Kubernetes.
  • Registry Configuration: Simplified registry configuration for well known registries.
  • UX/UI Improvements: View pod's container logs, better visual feedback, configurable editor font size, and more.

Podman Desktop 0.11 is now available. Click here to download it!

· 5 min read
Dev Kumar

This release note covers Podman Desktop 0.10 release changes.

  • Containers Configuration: Container creation wizzard allowing to define environment variables, networking and more configuration options.
  • Kubernetes Improvements: Play Kubernetes YAML, custom Kubeconfig path support, reload of kube context.
  • Registries Configuration: Revamped registries configuration UI.
  • Podman Version: Podman 4.3.1 now included in Windows and Mac installers.
  • UX/UI Improvements: Improved lists, better contrast, and more.

Podman Desktop 0.10 is now available. Click here to download it!

· 7 min read
Florent Benoit

GitHub announced last week that Codespaces is available for everyone and it includes free minutes.

Let see how we can use a Development Container having all the tools to build and run Podman Desktop. The Development Container works locally using Visual Studio Code but in this blog post we will see how it works directly with a simple click from GitHub.

The challenges are to run a desktop tool (Podman Desktop) and running a container engine (Podman) inside this Development Container without using too many memory !

- + \ No newline at end of file diff --git a/blog/5-things-to-know-for-a-docker-user.html b/blog/5-things-to-know-for-a-docker-user.html index 296ff782982..cae4cbaf671 100644 --- a/blog/5-things-to-know-for-a-docker-user.html +++ b/blog/5-things-to-know-for-a-docker-user.html @@ -13,13 +13,13 @@ - +

5 things to know about Podman Desktop for a Docker user

· 5 min read
Florent Benoit

The 5 things to know being a Docker user by using Podman Desktop:

  • Use a single UI: Podman Desktop works with several container engines, including Docker.
  • The compatibility mode: How to ensure tools are working with Podman instead of Docker.
  • Compose support: How to work with Compose files and Podman.
  • Kubernetes support: How to use Kubernetes with Podman.
  • Security: Use rootless mode or containers without root privileges.

5-things-to-know-for-a-docker-user-hero


Use Podman Desktop to interact with containers running in Docker

Docker Desktop provides a UI to interact with containers and images. But the UI depends on Docker API and it is not possible to use the UI with Docker and Podman at the same time.

Podman Desktop is a multi-engine UI tool. The UI is compatible with the API of Docker and Podman. It means all containers and images from all the engines at the same time are visible in the UI.

When migrating from Docker to Podman, you can use Podman Desktop to interact with containers running in Docker. Explore all commands and features of Podman Desktop and see all the resources from Docker.

Many container engines at the same time

Docker compatibility mode

Using Podman with Podman Desktop or with the Podman CLI is straightforward. But some tools expect to find docker CLI or docker.sock socket. In this case, you have to use the compatibility mode of Podman.

Socket file compatibility

The socket compatibility mode is a feature of Podman that allows to bind the Podman socket under the Docker socket path.

On Windows the socket compatibility mode is always enabled by default. On macOS, by using the .pkg installer it is active by default. But when installing with brew, it will not be there because it requires some admin permissions.

That is not an issue because you can enable it by invoking a CLI tool that will setup the compatibility mode.

For example if you use TestContainers in your Java project, you can use the compatibility mode to ensure that the tool will use Podman instead of Docker.

CLI compatibility

If you have scripts relying on docker CLI, you can use the compatibility mode to ensure that the tool is working with Podman instead of Docker.

If you have the docker CLI installed on your computer, you can use the socket file compatibility of docker to ensure that the tool is working with Podman engine instead of Docker.

If you do not have the docker CLI installed on your computer, you can Create a script called docker that will call the podman CLI

NOTE: creating a shell prompt alias, for example alias docker=podman, will not work inside scripts that you call.

Compose

As a user of Docker, you might use docker compose (or docker-compose) to run some of your applications.

For now Podman does not include a Compose support directly in the CLI with a command podman compose.

Compose can work with the Podman socket.

Based on the compatibility mode (see section about Docker compatibility mode):

You can now use the compose binary to run your applications and it will use Podman engine.

Podman Desktop has a compose extension that can fetch compose binary if not already available on the filesystem.

Podman Desktop UI displays the containers created by Compose are in the same group.

Compose support in the UI

Kubernetes

It is possible to start a Kubernetes cluster with Docker.

Podman supports directly a subset of Kubernetes resources that you can use with .yaml files.

For example if you only want to create a Pod resource, you can use the Play Kubernetes YAML button from the Containers list screen with your .yaml file. No need to install or start a Kubernetes cluster.

Play Kubernetes YAML

It is possible to do the counter-part. Export the definition of a container or pod to a Kubernetes resource. You can use the Generate kube button from the kebab menu of a given container or pod.

Kubernetes generate

Podman handles pods and in the Podman Desktop UI, you can see all the pods inside a Pod section. All containers inside the pod are in the same group.

Pods in the UI

Containers from pod

An experimental kind extension is bringing the creation of full-blown Kubernetes cluster with Podman.

Rootless mode

One of the difference of Docker and Podman is the way they handle containers. Docker requires root privileges to run containers by default. Podman can run containers without root privileges by default.

It means that for example, starting a container with a port < 1024 will not work. You need to use a port > 1024.

If you still need to create containers with a port < 1024, you can change the Podman machine configuration of the Podman Machine if you are on Windows or macOS.

The command is podman machine set --rootful to enable the execution with root privileges or podman machine set --rootful=false to switch back to rootless mode.

- + \ No newline at end of file diff --git a/blog/archive.html b/blog/archive.html index c75b2ca6182..6dd1499d426 100644 --- a/blog/archive.html +++ b/blog/archive.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/blog/develop-using-devcontainer.html b/blog/develop-using-devcontainer.html index 5e75bc383a7..f7fd18f7368 100644 --- a/blog/develop-using-devcontainer.html +++ b/blog/develop-using-devcontainer.html @@ -13,7 +13,7 @@ - + @@ -23,7 +23,7 @@ Using --privileged we don't really know what are the privilege that are required while specifying all of them, people are aware of what is granted/denied.

"runArgs": [
"--cap-add=sys_admin",
"--security-opt",
"seccomp=unconfined",
"--device",
"/dev/fuse",
"--security-opt",
"label=disable",
"--security-opt",
"apparmor=unconfined"
],

Source code of Podman Desktop needs to be editable within the DevContainer so it needs to be mounted.

"workspaceMount": "source=${localWorkspaceFolder},target=/workspace,type=bind",
"workspaceFolder": "/workspace",

Then we need a command to build Podman Desktop.

For that, we use onCreateCommand hook with a custom command

"onCreateCommand": "${containerWorkspaceFolder}/.devcontainer/onCreateCommand.sh",

and in the .devcontainer folder the onCreateCommand.sh script is the following

#!/bin/sh
yarn

MODE=production yarn run build && yarn run electron-builder build --linux --dir --config .electron-builder.config.cjs

Two instructions:

  1. Fetch all Node.js dependencies.
  2. build Podman Desktop in the dist folder using Linux as target Operating System.

After the start of the container, how to launch Podman Desktop, the website and VNC, etc ?

Just use postStartCommand hook.

"postStartCommand": "${containerWorkspaceFolder}/.devcontainer/postStartCommand.sh",

and in the .devcontainer folder the postStartCommand.sh script is the following:

#!/bin/sh

# Start all services
/usr/bin/supervisord -c /etc/supervisord.conf &

# wait X server to be ready or after 2mn exit
echo "Waiting for X server to be ready"
timeout 120 bash -c 'until xdpyinfo -display :0 &> /dev/null; do printf "."; sleep 1; done'

# launch podman desktop
echo "Launching Podman Desktop"
cd dist/linux-unpacked/&& ./podman-desktop &

# Launch the 9000 redirect after 20 seconds
sleep 20
websockify --web=/usr/share/novnc localhost:9000 localhost:5900 &

# launch the website rendering
echo "Launching Website"
cd website && yarn start

It starts VNC and noVNC, start precompiled Podman Desktop and start the documentation rendering.

It is not launching the Watch mode/development mode of Podman Desktop as it requires a container having more than 8GB of memory.

Picking up a larger instance with for example 16GB, it's possible to use development mode.

Of course, to make VNC happy, we need to specify the DISPLAY environment variable.

"remoteEnv": {
"DISPLAY": ":0"
}

When the DevContainer is fully available, we want to have a way to quickly open the Website rendering URL and noVNC

Let's tweak the devcontainer.json file by adding the portsAttributes section

"portsAttributes": {
"9000": {
"label": "vnc",
"onAutoForward": "openPreview"
},
"3000": {
"label": "website"
}
}

After all post-creation steps, the Preview browser inside the VS Code editor will open a window to VNC. And another port (3000) is flagged for the website.

Using the DevContainer.json on Github Codespace

As a user, opening a workspace with all what we configured is done using a single click.

Go to https://github.com/containers/podman-desktop then click on the < > Code dropdown and click on Create codespace on main button.

Open Codespace

Once you click on the button, the codespace is setting up:

Preparing Codespace

After few minutes, as there is not yet prebuilt codespaces, the codespace is opening.

The simple Browser displays the noVNC window: Opening Codespace

Click on the connect button. Then on the terminal you can enter podman run quay.io/podman/hello and the container is detected in Podman Desktop. Testing Codespace

It's also possible using the port widget to get on 3000 port by clicking on the world icon a preview of the website in another tab. Changing source code of the website will refresh the content of the window.

Depending on the usecase, it's also possible to open documentation in the preview browser.

Edit website Codespace

Conclusion

The DevContainer image for Podman Desktop is recent so it'll probably evolve over time by adding new capabilities but it allows you to easily build/run/experiment and contribute to the tool or the website.

- + \ No newline at end of file diff --git a/blog/podman-desktop-release-0.10.html b/blog/podman-desktop-release-0.10.html index e4d4c53a6b4..7f1ce17baf3 100644 --- a/blog/podman-desktop-release-0.10.html +++ b/blog/podman-desktop-release-0.10.html @@ -13,13 +13,13 @@ - +

Release Notes - Podman Desktop 0.10

· 5 min read
Dev Kumar

This release note covers Podman Desktop 0.10 release changes.

  • Containers Configuration: Container creation wizzard allowing to define environment variables, networking and more configuration options.
  • Kubernetes Improvements: Play Kubernetes YAML, custom Kubeconfig path support, reload of kube context.
  • Registries Configuration: Revamped registries configuration UI.
  • Podman Version: Podman 4.3.1 now included in Windows and Mac installers.
  • UX/UI Improvements: Improved lists, better contrast, and more.

Podman Desktop 0.10 is now available. Click here to download it!


Release Details

New configuration wizzard to create containers (#773)

Until now, we could only specify port binding when building images to start containers. The create container wizzard now includes several options enabling configuring volumes, environment variables, restart policy and settings on networking and security. It is also possible to reuse an existing (and already configured) a network when creating containers.

new container creation wizard

Kubernetes Capabilities Improvements

Custom Kubeconfig file path (#780)

Kubeconfig path location is now configurable from Settings > Preferences > Kubernetes: Kubeconfig and can be set to a custom path. By default, Podman Desktop use the path $HOME/.kube/config for the Kubeconfig file.

custom kubeconfig file path

Play Kubernetes YAML from the Pods list (#739)

Podman Desktop enables to play existing Kubernetes YAML files. This is now available from Play Kubernetes YAML button added to the Pods list, in addition to the Containers list.

play k8s yaml

Kube context automatically reloaded when updated (#813)

Any change to the kube context will now be detected by Podman Desktop in its running state. The system tray, allowing to select which Kubernetes environment to work with, will now reload the kube context without restarting Podman Desktop.

Revamped Container Registries UI (#446)

The registries configuration UI has been revamped. Instead of using tiles for displaying the registries, now it uses a list where each registry can be added or edited directly in the list. The kebab menu provides options to edit or remove a registry from the list.

registries

Update to Podman 4.3.1 (#913)

Podman Desktop 0.10 is now embedding Podman 4.3.1 in Windows and macOS installers.

UI/UX Improvements

Improved lists UX (#877)

To reduce the width used in the lists when displaying all the icons, main actions icons are now always displayed (before it was on hover) and the secondary actions are displayed in a kebab menu. For example Start/Stop and delete are primary actions while open the browser, inspect, generate kube yaml, etc. are secondary options.

kebab menu

Delay appearance of text in navbar (#767)

When minimizing or expanding the navbar, the text was overlapping for a few second the page. Now it's displayed with a fading animation.

Selected state: better text color contrast (#802)

In the Images page, on hover for both the image and the name column, the text contrast has been increased for better visibility: violet indicates that you have selected it.

text color when hover

On Linux and Windows, the menu bar is now hidden by default (#668)

With this change, the menu bar looks more integrated to the Operating System. The menu can appear if you hit the Alt key. Thanks to Dylan M. Taylor for contributing to fix this.

Exit when clicking on the close icon of the dashboard on Linux (#671)

For most users on Linux, there is no tray icon support. In this situation, when closed, Podman Desktop continues to run in background. Dylan M. Taylor added a property to exit the app by default when clicking on the close icon. For people having tray icon support or with the desire of a different behavior, it is possible to disable it from the Settings.


Other Notable Enhancements

  • Rename Started into Age in Containers list.(#878)
  • Added domain validation when adding a registry. (#838)
  • Provided a consistent behavior with Podman CLI, podman-machine-default is now the default name when creating a Podman machine from Podman Desktop. (#775)

Notable bug fixes

  • Fixed error handling when pulling images of Desktop Extensions. (#782)
  • Fixed use of the full height of the screen when displaying log in the details of a container. (#946)
  • Fixed First start of Podman Desktop on flatpak was not seeing the podman engine (#860)

Community Thank You

🎉 We’d like to say a big thank you to everyone who helped to make Podman Desktop 0.10 even better:

Final Notes

The complete list of issues fixed in this release is available here.

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

- + \ No newline at end of file diff --git a/blog/podman-desktop-release-0.11.html b/blog/podman-desktop-release-0.11.html index 6ffd83e7d41..61865230e3a 100644 --- a/blog/podman-desktop-release-0.11.html +++ b/blog/podman-desktop-release-0.11.html @@ -13,7 +13,7 @@ - + @@ -27,7 +27,7 @@ See:

Provide pre-defined registries #1201

The experience of configuring a registry is getting simplified for the most popular ones. The user will be able to select a registry from a pre-defined list and will only have to provide the username and password. The following registries will be pre-defined:

  • Dockerhub
  • Red Hat Quay
  • GitHub
  • IBM Container Registry
  • Google Container Registry

UI/UX Improvements

View Pods logs #1122

The pods details view provides the ability to view the logs of each containers that might be running in a pod. Moreover, as it can also be hard to scan and identify which container is producing which output, we appended the container name at the beginning of each output and differentiate each container with a different color.

pods-logs

Improved feedback when clicking on container list action icons #1150 #1161

When starting/stopping or deleting a container, a spinner is now displayed. In case of error, a message indicating that the action failed will also be better indicated.

For containers that exit immediately or short-lived containers, the feedback is also improved and include report of error now provide a better feedback to the user #1161.

Allows to change the default font size for the editor #1160

An editor is used in several screens of Podman Desktop, from the inspect screen to container's outputs and Kubernetes YAML. The default font size is 10 pixels. It's now possible to adjust the font size to the one the one you prefer. This setting is persisted and will be used for all the editors of Podman Desktop and available from the preferences page (Settings -> Preferences).

Keep expanded state of pods when refreshing containers #1042

When switching from different screens of the application or simply refreshing the list of containers, the expanded state of each item in the list is now persisted and will be properly restored.

Click on the Pod name redirects to the Pod details page #1159

The list of containers also displays pods, now clicking on the pod name directly redirects to the Pod details page.

Improved styles of buttons for actions #984

The style of the buttons for actions on item in the list of in details pages have been improved. The background has been removed, but to make the hover state more visible, the "hover" circle is visible and the icon's color is also changing.

On lists: list-actions

On details pages: details-actions

Improved alignments in pages with lists #1182

The alignment of the items in the list of containers and pods have been improved. The header of each columns are now aligned with the text. and the actions icons are now aligned with the top of the text.

list-actions


Other Notable Enhancements

  • Statistics area in container details are always shown. (#1131)
  • Add more descriptive wording and more information to extensions. (#985)
  • Allow to install on-the fly Podman Desktop extensions using an OCI image. (#1187)
  • Display correctly non-multiplexed stream in logs (when using non interactive mode). (#1197)
  • Font changed from white to gray for non-name sections (creation date, size). (#1206)
  • Add Help/about menu for macOS/Windows/Linux. (#1207)

Documentation

Coming with this new version of Podman Desktop, the documentation has been getting attention (with number of editorial reviews) and new content have been added.

Content for helping users to migrate from Docker to Podman has been added:

Several of other improvements have been made to the documentation and the website:


Notable bug fixes

  • Update to v0.3.2 Docker Desktop API for extensions - #1070
  • Updated link to the Matrix room - #1076
  • Report error when container name already exists - #1142
  • Fixed connectivity to the Podman machine when the generated socket length is greater than 104 characters in MacOS - #1145
  • Do not use long calls for external clients - #1151
  • Invalid name/tag for images with registries using a different port - #1127
  • Invalid badge count for images when two images have the same tag - #1124
  • Fixed detection of WSL2 - #981
  • Handle invalid kubeconfig files instead of crashing - #953
  • Removed redundant actions from details pages - #1200
  • Fixed registry URL not aligned with header - #1205
  • Moved SVGs to reusable components - #1211

Extensions API has also been improved in this new release:

  • (extension-api): Allows to register a factory for kubernetes connection objects (like for container connections) - #1040
  • (extension-api): List or inspect containers, be notified on events - #1041
  • (extension-api): Allows to get provider notification - #1045
  • (dd-extension-api): Implement toast API - #1154
  • (extension-api): Moved extension properties to preferences - #948
  • (dd-extension-api): Added open dev console on dd webview in development mode - #1071
  • (extension-api): Added notes on extension and frameworks/tooling of Podman Desktop - #1166
  • (extension-api): Documentation on how to write an extension and use the api - #1172
  • (dd-extension-api): DD extensions should see only minimal information on containers - #1191

Community Thank You

🎉 We’d like to say a big thank you to everyone who helped to make Podman Desktop 0.11 even better:

Final Notes

The complete list of issues fixed in this release is available here.

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

- + \ No newline at end of file diff --git a/blog/podman-desktop-release-0.12.html b/blog/podman-desktop-release-0.12.html index e77f1d8e626..409d110308b 100644 --- a/blog/podman-desktop-release-0.12.html +++ b/blog/podman-desktop-release-0.12.html @@ -13,14 +13,14 @@ - +

Release Notes - Podman Desktop 0.12

· 5 min read
Stevan Le Meur

This release note covers Podman Desktop 0.12 release changes.

  • Podman Version: Podman 4.4.1 now included in Windows and Mac installers.
  • Containers Configuration: Configure port mappings for an image without exported ports.
  • Windows Home Support: Podman Desktop now supports Windows Home Edition.
  • Start minimized: Option to start Podman Desktop minimized to system tray.
  • UX and UI Improvements: Consistent actions, placeholder for logs, unified icons and others.

Podman Desktop 0.12 is now available. Click here to download it!

podman-desktop-0-12-hero


Release Details

Update to Podman v4.4.1 #1456

Podman Desktop 0.12 embeds Podman 4.4.1 in Windows and macOS installers. Make sure to upgrade to benefit from the latest Podman features and bug fixes.

Configuring port mappings when an image has no exported port #1265

With the latest update, users can now add multiple local-to-remote port mappings when starting a container from an image that has no exported ports. This feature provides users with the flexibility to specify which ports on their local machine should map to which ports on the container, even if the container does not have any exported ports by default.

port-mapping

Installing Podman Desktop on Windows Home Edition #1268

Podman Desktop 0.12 offers the ability to be installed on Windows Home Edition. The mechanism uses Virtual Machine Platform detection, instead of hyper-v. WSL2 is still requires but can be installed along with the installation process.

install-windows-home-edition-2

Option to automatically minimize Podman Desktop on login #1374

Podman Desktop now provides a "start minimized" option when users log in onto the laptop. This option, available from the application's settings, can be useful if users want to automatically launch Podman Desktop at log in, but prefer not to have the window visible on the screen. With this feature, you can ensure that Podman Desktop is up and running in the background without any interruption to your workflows.

  • Go to Settings > Preferences > Login: Minimize to activate the option.

minimize-on-login

UI and UX Improvements

Improved actions consistency #1225

Actions displayed in the list pages for Images and Containers have been reviewed and made consistent between other pages.

action-consistency-1

Actions displayed in the header of the container's details page have been improved so that the actions are always displayed in the same order.

action-consistency-2

Consistent status icons for Pods, Containers, Images and Volumes #1326, #1377, #1459 and #1245

The status icons for Pods, Containers, Images, and Volumes have been unified and use consistent states.

pods-status-icon

Icons in empty screens have been updated to use the same consistent SVG icon as the status icons.

empty-screen-2

Placeholder when logs for containers are being fetched #1353

A placeholder is now displayed when logs are being fetched. placeholder-loading-logs

Fixed alignment in badges from the navigation sidebar #1357

Badges in the sidebar are now aligned with the title of the section.

alignement-badges

Enable/disable open browser action based on container state #1395 and #1397

The action to open the browser if a port is opened in a container, is now disabled when the container is stopped. It is also hidden in the kebab menu.

enable-disable-container-actions


Other Notable Enhancements

  • Display extension icons #1058
  • Solid Icons #1267
  • Differentiate icons compared to status icons #1268
  • Refactors window initializing #1309
  • Change window creation background color to dark #1310
  • Use Podman machine inspect to read the address to connect to the Podman machine #1364
  • Update the editor content when the pod name changes, and disable the deploy button when empty #1403
  • Ability to manually set color of tray icon for Windows and Linux #1243
  • Better UI feedback when starting pods #1242

Documentation

The documentation had many editorial reviews, and new content.


Notable bug fixes

  • Fixed handling path with spaces on Windows when installing Podman #1270
  • Removed padding from SVG icons #1253
  • Website: fixed download links for Windows and macOS binaries #1255
  • Fixed prettier commands on Windows #1266
  • Fixed new xterm instance spawn when clicking the logs route #1344
  • Fixed need to wait that telemetry has been initialized before proceeding #1373
  • Fixed new xterm instance spawn when clicking the logs route in pod details#1393
  • Fixed stop spinner if image cannot be retrieved #1394
  • Fixed escape command with quotes only for Windows #1462
  • Fixed random CRC status change #1420

Community Thank You

🎉 We’d like to say a big thank you to everyone who helped to make Podman Desktop 0.12 even better:

Final Notes

The complete list of issues fixed in this release is available here.

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

- + \ No newline at end of file diff --git a/blog/podman-desktop-release-0.13.html b/blog/podman-desktop-release-0.13.html index 7d92be34720..a0a77922b61 100644 --- a/blog/podman-desktop-release-0.13.html +++ b/blog/podman-desktop-release-0.13.html @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@

Release Notes - Podman Desktop 0.13

· 4 min read
Tim deBoer

This release note covers Podman Desktop 0.13 release changes.

  • Podman Version: Podman 4.4.4 now included in Windows and Mac installers.
  • Compose: Support for installing Docker Compose.
  • Extensions: Improved extension support for Podman Desktop with additional capabilities.
  • UX and UI Improvements: Welcome page, task manager, resources, and update alerts.

Podman Desktop 0.13 is now available. Click here to download it!

Podman-desktop-0-13-hero


Release details

Update to Podman v4.4.4

Podman Desktop 0.13 embeds Podman 4.4.4 in Windows and macOS installers #1456.

Compose support

You can install Docker Compose from the Podman Desktop UI #1578. This will allow you use Compose workflows using Podman.

Extensions

To make it easier to extend Podman Desktop we have:

UI and UX improvements

Welcome page #1726

The first time every user starts Podman Desktop, they will see a welcome page:

welcome-page

Note that the Welcome page will only appear the first time you run Podman Desktop 0.13.0, and none of your settings or assets in Podman Desktop will be affected by it. Over time, this page will be expanded to help with initial setup and configuration.

New Task Manager #1724

A new Task Manager has been added to the status bar to see the progress (or return to) long running tasks. To start with, building images #1725 and Podman machine #1742 are using the task manager.

task-manager

Updated Resources Settings #1582

The Settings > Resources page has been updated with a new design, making it easier to see and control your providers from a single place.

resources

The other settings pages have been updated for consistency with this new design.

Update Alerts #1827

A new alert button will appear in the status bar when future updates are available.

Prune buttons #1481, #1482, #1484

We've added buttons to prune unused volumes #1481, images #1482 and pods #1484.

prune-image


Other notable enhancements

  • Kubernetes pods are now shown in the Pods view #1312
  • Easy button to fix Docker compatibility mode on macOS #1697
  • Display extension icons #1058
  • API to cancel long running tasks #1777

Documentation

The documentation has new content:


Notable bug fixes

  • Periodically check and refresh Podman connection on Windows and Mac #1662
  • Fix inconsistent Log view behaviour #1710
  • Don't create route for regular Kubernetes clusters #1707
  • Fix copy button on empty screen #1804
  • Register extension tray items correctly #1778 and handle updates #1800

Community thank you

🎉 We’d like to say a big thank you to everyone who helped to make Podman Desktop 0.13 even better:

Final notes

The complete list of issues fixed in this release is available here.

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

- + \ No newline at end of file diff --git a/blog/podman-desktop-release-0.14.html b/blog/podman-desktop-release-0.14.html index 8080486538d..fb29daeebc3 100644 --- a/blog/podman-desktop-release-0.14.html +++ b/blog/podman-desktop-release-0.14.html @@ -13,7 +13,7 @@ - + @@ -46,7 +46,7 @@ making it easier to see and change preferences. Changes are live, no more Update 1927 This is more usable, one less prompt, and solves a window-layering issue for some users!

telemetry prompt


Other notable enhancements

  • Extension support for opening an external URL 2028 and accessing the clipboard 2023

Documentation

Naturally, we have a section in the documentation just for Kind.


Notable bug fixes

  • Avoid a dialog box if unable to check for updates 2062
  • Unable to get to the Dashboard if Kind (or Kubernetes) cluster was not running 2052

Final notes

The complete list of issues fixed in this release is available here.

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

- + \ No newline at end of file diff --git a/blog/podman-desktop-release-0.15.html b/blog/podman-desktop-release-0.15.html index c46b69c7c9f..6a38fe5e1cc 100644 --- a/blog/podman-desktop-release-0.15.html +++ b/blog/podman-desktop-release-0.15.html @@ -13,7 +13,7 @@ - + @@ -41,7 +41,7 @@ provider properties/creation pages


Other Notable Enhancements

  • We know which Settings page is used the most often, so now it's the default: Settings > Resources #2105.

  • Extensions can now use the Tasks API to let long running tasks continue in the background #2019 and the existing withProgress API also uses the task manager now #2187.

Task API

  • Images are now sorted by age #2311.

  • When you start/stop a container or pod, the button is now animated instead of having an separate spinner #2101.

  • The Settings > Preferences page now has a search bar #2128.

Search preferences

  • The Help page has been updated #431.

Updated Help


Notable Bug Fixes

  • There was no way to see log or outcome if you leave the Kind cluster creation page #2079.
  • Kind image load doesn't show a notification #2225.
  • Fix odd selection in Settings > Extensions #2130.
  • Menus are now cleaned up properly when extensions are stopped #2188.
  • Kind clusters are now cleaned up when Podman machine is stopped #2306.

Final notes

The complete list of issues fixed in this release is available here.

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

- + \ No newline at end of file diff --git a/blog/podman-desktop-release-1.0.html b/blog/podman-desktop-release-1.0.html index 21e78cd9d7e..24d38300d32 100644 --- a/blog/podman-desktop-release-1.0.html +++ b/blog/podman-desktop-release-1.0.html @@ -13,7 +13,7 @@ - + @@ -94,7 +94,7 @@ to get us here:

ucomesdag, xbabalov, zezo2019.


Final notes

The complete list of issues fixed in this release is available here and here.

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

- + \ No newline at end of file diff --git a/blog/podman-desktop-release-1.1.html b/blog/podman-desktop-release-1.1.html index 6933221f588..19ce73b9cd5 100644 --- a/blog/podman-desktop-release-1.1.html +++ b/blog/podman-desktop-release-1.1.html @@ -13,7 +13,7 @@ - + @@ -26,7 +26,7 @@ automatically check for and install extension updates.

- + \ No newline at end of file diff --git a/blog/podman-desktop-release-1.2.html b/blog/podman-desktop-release-1.2.html index 1d771f514d4..59fbac69635 100644 --- a/blog/podman-desktop-release-1.2.html +++ b/blog/podman-desktop-release-1.2.html @@ -13,13 +13,13 @@ - +

Release Notes - Podman Desktop 1.2

· 7 min read
Charlie Drage

Podman Desktop 1.2 Release! 🎉

We're excited to announce the release of Podman Desktop version 1.2.0! This release includes many new features (Kubernetes, Compose and extension support!), bug fixes, and improvements to enhance your container management experience. Here's a summary of the key changes in this release:

  • Added start/stop/delete/restart buttons for Compose: You can now make changes to an entire Compose group of containers
  • Kubernetes context on the status bar: Choose from multiple Kubernetes contexts more easily all from the status bar
  • Rename images: Rename an image with a click of a button
  • Protocol handler support: Added support for protocol handlers such as open podman-desktop:extension/redhat.openshift-local
  • Troubleshooting page: A troubleshooting page for helping diagnose Podman Desktop related development issues

Podman Desktop 1.2 is now available. Click here to download it!

Podman-desktop-1-2-hero


Release Details

Added start/stop/delete/restart buttons for Compose

In the last month we've been addind support for more Compose features. Before you were only able to control a group of containers if they were in a Pod. Now we have added the ability to control a group of Compose containers. You can now start, stop, delete and restart a group of containers launched by either docker-compose or podman-compose.

Stay tuned as we add even more features to Compose! If you have any feedback or feature requests, feel free to open an issue or start a discussion on GitHub.

Kubernetes context on the status bar

With Kubernetes context on the status bar, you can switch from one context to another in just a couple of clicks. Easily switch to a different cluster all together. If there are multiple contexts available, you can now click and pick which one to use.

Rename images

Deployed an image but now you need to rename it / add a new tag? Podman Desktop allows you to edit an image now. Thanks to an awesome contributor @tuckerrc who added the new feature.

Troubleshooting page

Developing an extension for Podman Desktop? Want to view the logs of Podman Desktop as well as ping your container connection? We now have a troubleshooting page!

Click on the lightbulb button on the bottom right to access the page.

Protocol handler support

Podman Desktop now supports protocol handling when using the terminal! Want to access your favourite extension directly from a script or the terminal? If you type in open podman-desktop:extension/redhat.openshift-local in the terminal, Podman Desktop will automatically load up to the correct extension.


Other Notable Features

  • Background colors and FormPage (PR #2977)
  • Add ability to add insecure registry / skipping cert verify (PR #2896)
  • Add support for icon contribution (PR #2984)
  • Add warning dialog message that virtual machine has low memory limit (PR #2822)
  • Propose indexed name for new pod (PR #3028)
  • Add restart button after enabling / disabling mac os compatibility (PR #2841)
  • Add environment related helper constants (PR #3079)
  • Allow entrypoint and cmd when starting container (PR #3031)
  • Add a way to debug stores in troubleshooting page (PR #3121)
  • Add custompick component (#2855) (PR #3012)
  • Dynamic breadcrumbs (PR #3119)
  • Icons on form pages (PR #3155)
  • Switch more pages to formpage (PR #3162)
  • Add rename image button (PR #2588)
  • Fixed headers, improved scrollbars (PR #2863)
  • Reports warnings on failed kube deploy, fixes error out (PR #3050)
  • Kube context on statusbar (PR #2755)
  • Install provider if not installed when clicking on create new button (#2706) (PR #2817)
  • Add tag and authenticated push capacity to the extension API (PR #2876)
  • Add navigation bar e2e tests (PR #2950)

Documentation Updates

  • Fix documentation for building image of extensions (PR #2873)
  • Add Minikube install docs (PR #2824)
  • Add Minikube documentation (PR #2694)
  • Updated Building an image procedure (PR #2964)
  • Starting a container (PR #2958)
  • Pulling an image (PR #2956)
  • Updated selecting containers to run in a pod (PR #2970)
  • Pushing an image to a registry (PR #2969)
  • How to add an insecure registry (PR #2953)
  • Add documentation for lima (PR #2995)
  • Replace broken link to podman.io (PR #2994)
  • Authenticating to a pre-configured registry (PR #2965)
  • Lima is not a container engine (PR #3051)
  • Using the Troubleshooting page (PR #3083)
  • View and select your current Kubernetes context in the status bar (PR #3090)

Notable Bug Fixes

  • Deleting a running pod generates an error (PR #2827)
  • If kubeconfig is empty, does not try to do things, cancel (PR #2874)
  • Async telemetry startup (PR #2885)
  • Do not block startup while waiting for kube resource refresh (PR #2884)
  • Images list too wide (PR #2918)
  • Compose deactivate function never called (PR #2922)
  • Auto-scrolling on form pages, layout issues (PR #2927)
  • Show current context in quick pick (PR #2920)
  • Remove sticky position of loader in dashboard UI (#2535) (PR #2959)
  • Undo change that broke the website (PR #2992)
  • Detailspage, resizing & consistency (PR #2987)
  • Quick pick click to close and over nav bar (PR #2758)
  • Only show empty screen when no pods (PR #2929)
  • Do not redirect to /pods when deleting pod in containerlist (PR #2963)
  • Bulk delete on pods should call the pod deletion (PR #2979)
  • Update nodejs version to 18 in .nvmrc to fix yarn install failure (PR #2989)
  • Website check targets (PR #2996)
  • Don't show exception to user (PR #3034)
  • Interpret arguments given to info command for example (PR #3015)
  • Change defaults for Podman machine (PR #3061)
  • Normalize development/production folders path (PR #3113)
  • Calculate machine socket path for linux (PR #3070)
  • Replace backslash with slash so to support rendering on Windows (#3120) (PR #3122)
  • Keep stdout and stderr in the error object for Docker Desktop extensions (PR #3014)
  • Mark task completed if there's a failure (PR #3016)
  • Handle invalid kubeconfig file (PR #3129)
  • Do not remove registries when podman extension is stopping (PR #3136)
  • Warning should be amber (PR #3153)
  • Load user extensions from plugins as removable (PR #3152)
  • Images with spaces in entrypoints or commands fail to start (PR #3161)
  • Scrolling offscreen when clicking checkbox (PR #3178)
  • Avoid messagebox expanding offscreen (PR #2778)
  • Release-notes-generator run failure (PR #2752)
  • Unable to do a new build if the previous one failed (PR #2721)

Community Thank You

🎉 We’d like to say a big thank you to everyone who helped to make Podman Desktop even better.

A big shoutout to @afbjorklund, @tuckerrc and @evanshortiss who contributed to this release!


Final notes

The complete list of issues fixed in this release is available here and here.

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

- + \ No newline at end of file diff --git a/blog/podman-desktop-release-1.3.html b/blog/podman-desktop-release-1.3.html index 1cafcd373ee..313ec8e37e5 100644 --- a/blog/podman-desktop-release-1.3.html +++ b/blog/podman-desktop-release-1.3.html @@ -13,14 +13,14 @@ - +

Release Notes - Podman Desktop 1.3

· 6 min read
Denis Golovin

Podman Desktop 1.3 Release! 🎉

This is essentially a bug-fix release to fix various issues in UI, extension engine and featured extensions, but as usual we also added a few new features.

  • Podman 4.6.1: Podman 4.6.1 included in Windows and Mac installers
  • Podman user-mode networking support to Windows/WSL: A new switch `User mode networking' is available when creating Podman machine on Windows for Podman 4.6.0+ to configure podman to work in certain VPN setups and other specialized networking configurations
  • Compose group new UI elements: You can now see summary, inspect, deploy to kubernetes, generate kube yaml and view logs
  • Extension packs and extension dependencies: Install group of extensions in one click
  • Resource details page update: See summary and log for resource
  • Create Kind cluster form update: A new Node's container image field can be used to specify the Kubernetes version used for the control-planed
  • Support Docker Desktop extensions using a backend: When loading Docker Desktop extension the containers are created in the backend as described in the vm section of extension's descriptor
  • Podman Initial Onboarding (preview): Install and configure podman using included installer

Podman Desktop 1.3 is now available. Click here to download it!

Podman-desktop-1-3-bug-swatting


Release Details

Compose group Logs tab #3176

When clicking on the group of containers, you can now view the logs of the entire group of compose containers and don't need to open log for every component individually.

Screenshot 2023-07-11 at 12 48 47 PM

Podman user-mode networking support to Windows/WSL #3251

Certain VPN setups or other specialized networking configs will block traffic from the virtual WSL networking device, resulting in the podman WSL backend from being unable to contact systems on the VPN, and potentially losing internet access altogether. The new switch allows you to create a podman VM machine configured to work correctly in mentioned above networking environments.

user

Compose group Summary tab #3317,

Compose group Summary tab shows all containers in the group and let you navigate to Details page for specific container.

Compose group Inspect tab #3316

Compose group Inspect tab shows an array of "container inspect" from docker / podman.

Deploy to kubernetes in compose actions #3299

A button to deploy to kubernetes added to Compose group.

Generate Kube in Compose actions and Kube tab in compose details #3253

Generate Kube item added to Compose actions and "Kube" tab is now available in Compose details view.

Install multiple extensions using extension pack #3150

An Extension pack introduced in Extension engine is a way to declare set of extensions to install them all at once.

Customize icons from extension #3131

Extensions now can customize icons for list elements using when clause.

image

Resource details page update #1923

If you click on the arrow icon next to a resource name it will open up a details page (similarly to how clicking on a container in the container list opens up a details page).

image

Node's container image field added to Create a Kind cluster form #3508

The new Node's container image field can be used to specify the Kubernetes version used for the control-planed.

image

Support Docker Desktop extensions using a backend #3435

Podman Desktop now loads the containers in the backend as described in the vm section of extension descriptor the same way as Docker Desktop does.

Initial onboarding implementation for podman (experimental) #3308

This is the initial implementation for the onboarding feature. It only covers a simple onboarding for podman. Check system requirements -> install podman -> yay! Done!

Notable Bug Fixes

  • Updating videos to be adaptive for mobile by @mairin #3229
  • Consistent max width and padding in settings by @deboer-tim #3232
  • Settings navigation bar resizing by @deboer-tim in #3231
  • Move new registry button to header by @deboer-tim #3245
  • Bigger lima logo by @afbjorklund #3248
  • Horizontal docker logo by @afbjorklund #3236
  • Respect LIMA_HOME environment variable by @afbjorklund #3254
  • Add check before writing to terminal by @lstocchi #3263
  • Wait until remote side has fully initialized the extensions by @benoitf #3257
  • Fix loader not centered horizontally by @benoitf #3270
  • Troubleshooting still waiting after failure by @deboer-tim #3354
  • Store error for build by @cdrage #3365
  • Missing checkbox tooltips by @deboer-tim #3380
  • Load compose logs async not await by @cdrage #3377
  • Set rootful connection when starting rootful machine by @lstocchi #3364
  • Default last page by @deboer-tim #3388
  • Avoid dashboard displaying providers starting while they don't by @benoitf #3451
  • Do not use extensionInfo until it is defined by @benoitf #V
  • Allow BASIC authentication (all caps) by @cdrage #3471
  • Allow single domain registry such as localhost:5000 by @cdrage #3468
  • Create /usr/local/bin directory if it does not exist on binary install by @cdrage #3425
  • Only delete selected pods by @deboer-tim #
  • Add back 'Done' text on the button by @benoitf #3487
  • Do not wait for more than 5s when checking for podman ping by @benoitf #3497
  • Add proxy support for extension using patching get and request approach by @dgolovin #2825
  • Refresh component when field is updated by @benoitf #3525
  • Higher-res icons for featured extensions list by @mairin #3511
  • Main nav selection by @deboer-tim #3510
  • kube event error when switching context by @jeffmaury #3494
  • Reset error message each time we pull image by @benoitf #3550

Community Thank You

🎉 We’d like to say a big thank you to everyone who helped to make Podman Desktop even better.

A warm welcome to @rostalan and @axel7083 who made their first contribution to the project in this release.

Final Notes

The complete list of issues fixed in this release is available here.

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

- + \ No newline at end of file diff --git a/blog/podman-desktop-release-1.4.html b/blog/podman-desktop-release-1.4.html index 3a4f39cf434..d84fc3787f5 100644 --- a/blog/podman-desktop-release-1.4.html +++ b/blog/podman-desktop-release-1.4.html @@ -13,13 +13,13 @@ - +

Release Notes - Podman Desktop 1.4

· 4 min read
Jeff Maury

Podman Desktop 1.4 Release! 🎉

This is essentially a bug-fix release to fix various issues in UI, but as usual we also added a few new features.

  • Podman 4.6.2: Podman 4.6.2 included with Podman Desktop 1.4
  • Windows Arm64: Native Windows on Arm64 installers and binaries
  • Port range mapping: Start containers and map a range of ports
  • Terminal UX Improvement: Persistent terminal sessions when SSH'ing in a container
  • Volume Creation: Create volume from the Volumes page
  • Bash support: Terminals are now using bash if available.

Podman Desktop 1.4 is now available. Click here to download it!

Podman-desktop-1-4-juggling


Release Details

Port range mapping #3654

When starting a new container, you can now map a port range between host and container. If the range is not valid between host and container, an error is raised.

Range mapping

Terminal lifetime #3725

When a terminal is opened for a container, it can now be reused after you switched to another part of the Podman Desktop UI.

terminal lifetime

Create volume #3742

The Volumes tab now has a Create volume button. The Create volume UI has a single field for the volume name.

create volume

bash support #3750

When a terminal is opened for a container, if bash is available within the container, it will be used. Otherwise, sh will be used.

bash sh

Notable Bug Fixes

  • Reduce API calls when listing containers by @benoitf #3489
  • Removing a connection(podman machine) should redirect to previous page by @benoitf #3576
  • Enhance error message when image is not there by @benoitf #3587
  • Dispose kind install button when extension is deactivated (#3586) by @lstocchi #3610
  • Replace backslash/slash on windows when building image (#3465) by @lstocchi #3618
  • Handle null value in container command (#3620) by @lstocchi #3625
  • Add maximum activation time for extensions by @benoitf #3446
  • Handle single non-spread arguments by @benoitf #3641
  • Grab usage data of volumes only on-demand by @benoitf #3635
  • Add arm64 binaries for Windows by @benoitf #3643
  • Include right airgap file for Windows and arm64 by @benoitf #3651
  • Redirect to previous page when removing a kubernetes connection by @benoitf #3650
  • Support port ranges when starting a container (#3204) by @lstocchi #3654
  • Add a strict undefined check to messagebox result (#3692) by @lstocchi #3699
  • Only restart if a machine is running by @cdrage #3491
  • Session to the terminal is reused by @benoitf #3725
  • Disable next button and show try again when onboarding failed (#3616) by @lstocchi #3711
  • Add podman in PATH after updating process environment PATH (#3729) by @lstocchi #3730
  • Allow to create a volume by @benoitf #3742
  • Using bash if available otherwise sh in terminal by @axel7083 #3750
  • Allow to embed existing component to onboarding (#3755) by @lstocchi #3763
  • Some containers never return logs, do not wait for them by @dgolovin #3784
  • Remove cancel button when on final onboarding step (#3771) by @lstocchi #3802
  • Onboarding add link micromark for commands by @cdrage #3747
  • Mounts can be null when using older podman by @afbjorklund #3806
  • Remove redundant step completion check when onboarding gets started by @lstocchi #3798
  • Ability to click enter in pull image name input by @deboer-tim #3850
  • Set proxy environment variable when launching process by @jeffmaury #3838
  • The socket location was moved for new podman by @afbjorklund #3853
  • Don't log console errors when activating lima extension by @afbjorklund #3852

Community Thank You

🎉 We’d like to say a big thank you to everyone who helped to make Podman Desktop even better.

A warm welcome to @tomgoren, @Julian, @Gelob and @cedricclyburn who made their first contribution to the project in this release.

Final Notes

The complete list of issues fixed in this release is available here.

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

- + \ No newline at end of file diff --git a/blog/podman-desktop-release-1.5.html b/blog/podman-desktop-release-1.5.html index cb183008b6b..13fa734c255 100644 --- a/blog/podman-desktop-release-1.5.html +++ b/blog/podman-desktop-release-1.5.html @@ -13,7 +13,7 @@ - + @@ -24,7 +24,7 @@ compose-onboarding-start compose-onboarding

Command Palette

A new, search-driven command palette is now available to enable quick access to various commands available across 🦭 Podman Desktop. You can try this new tool out by hitting the F1 key. #4081 && #3979

Expanded "Summary" tab for Kubernetes pods

Kubernetes pods now offer a more comprehensive set of information under the "Summary" tab, including networking, volumes, environment variables, and other key metadata.

Environment file support

When creating a container from the Images list, there's now an option to provide an environment file to set env variables for the new container. #4026 && #4025

Enhancements to the Settings area

The user experience for enabling or disabling Docker compatibility is improved, with a new entry in the Settings > Preferences screen that includes contextual guidance. #4093

Improved user experience for state changes

The user experience around state changes for containers, pods, and other objects in the UI is improved, with clear status messages and improved animated visual indicator of state changes. #4056

Extension API improvements

The 🦭 Podman Desktop extension API received many improvements, including:

  • In addition to pushing and listing image from an extension, it's now possible to pull images from a 🦭 Podman Desktop extension #4155

  • The 🦭 Podman Desktop extension API has been enhanced with both the ability to list images & networks and the ability to create containers & networks. #4172

  • 🦭 Podman Desktop extensions now have a consistent way to run administrative tasks. #4049

  • Extensions now have the ability to register a custom Kubernetes config generator. #3970

  • The ability of extensions to add commands to UI menus has been extended; previously for action menus it was only available in the Image list screen. It is now possible for extensions to add commands to the action menus of items listed on the Containers list screen as well. #3947 & #3963

  • Extensions have gained the ability to contribute menu items in the UI based on specific conditions. #3959

  • Enhanced logic for displaying or hiding properties listed under the Settings > Preferences screens is now available. #4159


Other Notable Enhancements

  • The progress of loading an image into Kind is now visible as a task in the task manager. #4061

kind-progress-task

  • It's now possible to start a new Podman machine right after creation, or you can create it and wait to start it later. It's up to you! #4046

podman-start-now-or-later

  • The Podman machine and Kubernetes provider creation forms have an updated look & feel consisted with other forms in the user interface, along with minor bug fixes. #4317

Updated provider creation forms

  • The empty screen message shown when a search filter results in no matches now provides a message specific to filter matching, including the specific filter terms and an explicit button for clearing the filter. Previously, the screen displayed a generic message about how to create new objects of the type displayed on the screen, which led to some confusion about the status of the system. #3988
  • New support for adding spin animations to icons is now available. #4188

  • There is a new indeterminate progress bar type available for the task manager; this is meant for providing limited status for actions whose APIs do not provide detailed status information. #4016

  • For authenticating as admin to perform administrative tasks, 🦭 Podman Desktop now provides touchID support for macOS. #4050

touchID-support

  • Support for connecting to interactive terminals for containers via tty was added. #3900

  • It's now more clear which container/pod providers will autostart when 🦭 Podman Desktop starts. Previously autostart had both a global and a per-provider setting. It has been simplified by removing the global setting. #3840

  • The "Working with containers" section of the documentation has been reworked and improved. #3951


Notable Bug Fixes

  • The disable registry command was not blocking subsequent pulls from disabled registries. This has been corrected. #4183

  • Some users behind network proxies were unable to complete workflow involving the download of online resources. The mechanism for fetching these resources has been fixed to be proxy compatible to address this issue. #3994

  • The status of pods running in Kubernetes that are undergoing the deletion process is now accurately reflected in the 🦭 Podman Desktop UI. #3877

  • The image details page always listed the image as being "not used" even when it was. This has been corrected. #3985

  • Previously, deleting a specific image tag would cause all tags with the same Image ID to be deleted. This has been fixed so only the selected image tag will be deleted. #3837

  • Could not view the pod details for some remote Kubernetes cluster pods due to an encoding error. #4371

  • Error logs were being tracked separately from the actions they applied to. This has been addressed for kind cluster creation failure #4427 and Compose installation failure #4407.

  • For Linux users, 🦭 Podman Desktop previously did not appear under the "Development" menu when installed via Flatpak; it appeared under "Utilities." 🦭 Podman Desktop now appears under the "Development" menu. #3911

  • Podman Machine names are no longer prefixed with the "Podman Machine" string. #3878

touchID-support

  • The initial action state of pods and containers was being displayed as "STARTING" regardless of actual state; this has been corrected. #3889

  • Resizing the application window no longer makes the last lines of a container's terminal invisible. #3993

  • An issue with incorrect terminal behavior in response to long lines in the terminal attached to a container has been resolved. #3955

  • A spacing issue on the run image form has been corrected. [#4089]https://github.com/containers/podman-desktop/pull/4089

  • The "podify" icon & button on the Containers list was unusually large in release 1.4. That regression has been corrected in this release. #4122

  • An error in the instructions for Windows users on migrating from Docker has been corrected. #4157


Community Thank You

🎉 We’d like to say a big thank you to everyone who helped to make 🦭 Podman Desktop even better. In this release we received pull requests from the following people:


Final notes

Known Issues

We have a discussion board topic where we have posted known issues with this release. If you run into problems, please check this list before filing a bug - if we already have an issue open for it, it saves you the time and trouble of filing, and there may be a workaround posted in the issue.

Known Issues: Podman Desktop 1.5.2

Fixed Issues

The complete list of issues fixed in this release is available here.

Where to Download

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

- + \ No newline at end of file diff --git a/blog/running-a-local-kubernetes-cluster-with-podman-desktop.html b/blog/running-a-local-kubernetes-cluster-with-podman-desktop.html index 18ddd0992e8..a0da44d4694 100644 --- a/blog/running-a-local-kubernetes-cluster-with-podman-desktop.html +++ b/blog/running-a-local-kubernetes-cluster-with-podman-desktop.html @@ -13,7 +13,7 @@ - + @@ -31,7 +31,7 @@ It is configured to communicate with either the Redis follower or leader Service The frontend exposes a JSON interface, and serves a jQuery-Ajax-based UX.

With Podman Desktop, you can prepare the Guestbook frontend image and container on your local container engine, and deploy the results to Kubernetes pods and services. This is functionally equal to the frontend deployment that the Kubernetes example propose.

Procedure

  1. Open Images > Pull an image.
    1. Image to Pull: enter gcr.io/google_samples/gb-frontend:v5
    2. Click Pull image to pull the image to your container engine local image registry.
    3. Wait for the pull to complete.
    4. Click Done to get back to the images list.
  2. Search images: enter gb-frontend:v5 to find the image.
  3. Click to open the Create a container from image dialog.
    1. Container name: enter frontend,
    2. Local port for 80/tcp: 9000.
    3. Click Start Container to start the container in your container engine.
  4. Search containers: enter frontend to find the running container.
  5. Click to stop the container: you do not need it to run in the container engine.
  6. Click > Deploy to Kubernetes to open the Deploy generated pod to Kubernetes screen.
    1. Pod Name: enter frontend.
    2. Use Kubernetes Services: select Replace hostPort exposure on containers by Services. It is the recommended way to expose ports, as a cluster policy might prevent to use hostPort.
    3. Expose service locally using Kubernetes Ingress: select Create a Kubernetes ingress to get access to the ports that this pod exposes, at the default ingress controller location. Example: on a default Kind cluster created with Podman Desktop: http://localhost:9090. Requirements: your cluster has an ingress controller`.
    4. Kubernetes namespaces: select default.
    5. Click Deploy. Deploy generated frontend pod to Kubernetes screen
    6. Wait for the pod to reach the state: Phase: Running.
    7. Click Done.

Verification

  1. The Pods screen lists the running frontend pod.

    `frontend` pod is running

  2. Go to http://localhost:9090: the Guestbook application is running.

- + \ No newline at end of file diff --git a/blog/tags.html b/blog/tags.html index 9a4765d0969..004192ebe03 100644 --- a/blog/tags.html +++ b/blog/tags.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/blog/tags/codespaces.html b/blog/tags/codespaces.html index b81c6f257f4..3dc9b91f628 100644 --- a/blog/tags/codespaces.html +++ b/blog/tags/codespaces.html @@ -13,13 +13,13 @@ - +

One post tagged with "codespaces"

View All Tags

· 7 min read
Florent Benoit

GitHub announced last week that Codespaces is available for everyone and it includes free minutes.

Let see how we can use a Development Container having all the tools to build and run Podman Desktop. The Development Container works locally using Visual Studio Code but in this blog post we will see how it works directly with a simple click from GitHub.

The challenges are to run a desktop tool (Podman Desktop) and running a container engine (Podman) inside this Development Container without using too many memory !

- + \ No newline at end of file diff --git a/blog/tags/compose.html b/blog/tags/compose.html index 0ff1ca434f9..b2e3abc6219 100644 --- a/blog/tags/compose.html +++ b/blog/tags/compose.html @@ -13,7 +13,7 @@ - + @@ -24,7 +24,7 @@ compose-onboarding-start compose-onboarding

Command Palette

A new, search-driven command palette is now available to enable quick access to various commands available across 🦭 Podman Desktop. You can try this new tool out by hitting the F1 key. #4081 && #3979

Expanded "Summary" tab for Kubernetes pods

Kubernetes pods now offer a more comprehensive set of information under the "Summary" tab, including networking, volumes, environment variables, and other key metadata.

Environment file support

When creating a container from the Images list, there's now an option to provide an environment file to set env variables for the new container. #4026 && #4025

Enhancements to the Settings area

The user experience for enabling or disabling Docker compatibility is improved, with a new entry in the Settings > Preferences screen that includes contextual guidance. #4093

Improved user experience for state changes

The user experience around state changes for containers, pods, and other objects in the UI is improved, with clear status messages and improved animated visual indicator of state changes. #4056

Extension API improvements

The 🦭 Podman Desktop extension API received many improvements, including:

  • In addition to pushing and listing image from an extension, it's now possible to pull images from a 🦭 Podman Desktop extension #4155

  • The 🦭 Podman Desktop extension API has been enhanced with both the ability to list images & networks and the ability to create containers & networks. #4172

  • 🦭 Podman Desktop extensions now have a consistent way to run administrative tasks. #4049

  • Extensions now have the ability to register a custom Kubernetes config generator. #3970

  • The ability of extensions to add commands to UI menus has been extended; previously for action menus it was only available in the Image list screen. It is now possible for extensions to add commands to the action menus of items listed on the Containers list screen as well. #3947 & #3963

  • Extensions have gained the ability to contribute menu items in the UI based on specific conditions. #3959

  • Enhanced logic for displaying or hiding properties listed under the Settings > Preferences screens is now available. #4159


Other Notable Enhancements

  • The progress of loading an image into Kind is now visible as a task in the task manager. #4061

kind-progress-task

  • It's now possible to start a new Podman machine right after creation, or you can create it and wait to start it later. It's up to you! #4046

podman-start-now-or-later

  • The Podman machine and Kubernetes provider creation forms have an updated look & feel consisted with other forms in the user interface, along with minor bug fixes. #4317

Updated provider creation forms

  • The empty screen message shown when a search filter results in no matches now provides a message specific to filter matching, including the specific filter terms and an explicit button for clearing the filter. Previously, the screen displayed a generic message about how to create new objects of the type displayed on the screen, which led to some confusion about the status of the system. #3988
  • New support for adding spin animations to icons is now available. #4188

  • There is a new indeterminate progress bar type available for the task manager; this is meant for providing limited status for actions whose APIs do not provide detailed status information. #4016

  • For authenticating as admin to perform administrative tasks, 🦭 Podman Desktop now provides touchID support for macOS. #4050

touchID-support

  • Support for connecting to interactive terminals for containers via tty was added. #3900

  • It's now more clear which container/pod providers will autostart when 🦭 Podman Desktop starts. Previously autostart had both a global and a per-provider setting. It has been simplified by removing the global setting. #3840

  • The "Working with containers" section of the documentation has been reworked and improved. #3951


Notable Bug Fixes

  • The disable registry command was not blocking subsequent pulls from disabled registries. This has been corrected. #4183

  • Some users behind network proxies were unable to complete workflow involving the download of online resources. The mechanism for fetching these resources has been fixed to be proxy compatible to address this issue. #3994

  • The status of pods running in Kubernetes that are undergoing the deletion process is now accurately reflected in the 🦭 Podman Desktop UI. #3877

  • The image details page always listed the image as being "not used" even when it was. This has been corrected. #3985

  • Previously, deleting a specific image tag would cause all tags with the same Image ID to be deleted. This has been fixed so only the selected image tag will be deleted. #3837

  • Could not view the pod details for some remote Kubernetes cluster pods due to an encoding error. #4371

  • Error logs were being tracked separately from the actions they applied to. This has been addressed for kind cluster creation failure #4427 and Compose installation failure #4407.

  • For Linux users, 🦭 Podman Desktop previously did not appear under the "Development" menu when installed via Flatpak; it appeared under "Utilities." 🦭 Podman Desktop now appears under the "Development" menu. #3911

  • Podman Machine names are no longer prefixed with the "Podman Machine" string. #3878

touchID-support

  • The initial action state of pods and containers was being displayed as "STARTING" regardless of actual state; this has been corrected. #3889

  • Resizing the application window no longer makes the last lines of a container's terminal invisible. #3993

  • An issue with incorrect terminal behavior in response to long lines in the terminal attached to a container has been resolved. #3955

  • A spacing issue on the run image form has been corrected. [#4089]https://github.com/containers/podman-desktop/pull/4089

  • The "podify" icon & button on the Containers list was unusually large in release 1.4. That regression has been corrected in this release. #4122

  • An error in the instructions for Windows users on migrating from Docker has been corrected. #4157


Community Thank You

🎉 We’d like to say a big thank you to everyone who helped to make 🦭 Podman Desktop even better. In this release we received pull requests from the following people:


Final notes

Known Issues

We have a discussion board topic where we have posted known issues with this release. If you run into problems, please check this list before filing a bug - if we already have an issue open for it, it saves you the time and trouble of filing, and there may be a workaround posted in the issue.

Known Issues: Podman Desktop 1.5.2

Fixed Issues

The complete list of issues fixed in this release is available here.

Where to Download

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

· 4 min read
Tim deBoer

This release note covers Podman Desktop 0.13 release changes.

  • Podman Version: Podman 4.4.4 now included in Windows and Mac installers.
  • Compose: Support for installing Docker Compose.
  • Extensions: Improved extension support for Podman Desktop with additional capabilities.
  • UX and UI Improvements: Welcome page, task manager, resources, and update alerts.

Podman Desktop 0.13 is now available. Click here to download it!

Podman-desktop-0-13-hero

- + \ No newline at end of file diff --git a/blog/tags/devcontainer.html b/blog/tags/devcontainer.html index 67c492f53a2..87b075fc938 100644 --- a/blog/tags/devcontainer.html +++ b/blog/tags/devcontainer.html @@ -13,13 +13,13 @@ - +

One post tagged with "devcontainer"

View All Tags

· 7 min read
Florent Benoit

GitHub announced last week that Codespaces is available for everyone and it includes free minutes.

Let see how we can use a Development Container having all the tools to build and run Podman Desktop. The Development Container works locally using Visual Studio Code but in this blog post we will see how it works directly with a simple click from GitHub.

The challenges are to run a desktop tool (Podman Desktop) and running a container engine (Podman) inside this Development Container without using too many memory !

- + \ No newline at end of file diff --git a/blog/tags/docker.html b/blog/tags/docker.html index 0733ee9393b..ac288b8853f 100644 --- a/blog/tags/docker.html +++ b/blog/tags/docker.html @@ -13,13 +13,13 @@ - +

One post tagged with "docker"

View All Tags

· 5 min read
Florent Benoit

The 5 things to know being a Docker user by using Podman Desktop:

  • Use a single UI: Podman Desktop works with several container engines, including Docker.
  • The compatibility mode: How to ensure tools are working with Podman instead of Docker.
  • Compose support: How to work with Compose files and Podman.
  • Kubernetes support: How to use Kubernetes with Podman.
  • Security: Use rootless mode or containers without root privileges.

5-things-to-know-for-a-docker-user-hero

- + \ No newline at end of file diff --git a/blog/tags/extensions.html b/blog/tags/extensions.html index 7759a34f8e4..e2e6b1083a0 100644 --- a/blog/tags/extensions.html +++ b/blog/tags/extensions.html @@ -13,7 +13,7 @@ - + @@ -24,7 +24,7 @@ compose-onboarding-start compose-onboarding

Command Palette

A new, search-driven command palette is now available to enable quick access to various commands available across 🦭 Podman Desktop. You can try this new tool out by hitting the F1 key. #4081 && #3979

Expanded "Summary" tab for Kubernetes pods

Kubernetes pods now offer a more comprehensive set of information under the "Summary" tab, including networking, volumes, environment variables, and other key metadata.

Environment file support

When creating a container from the Images list, there's now an option to provide an environment file to set env variables for the new container. #4026 && #4025

Enhancements to the Settings area

The user experience for enabling or disabling Docker compatibility is improved, with a new entry in the Settings > Preferences screen that includes contextual guidance. #4093

Improved user experience for state changes

The user experience around state changes for containers, pods, and other objects in the UI is improved, with clear status messages and improved animated visual indicator of state changes. #4056

Extension API improvements

The 🦭 Podman Desktop extension API received many improvements, including:

  • In addition to pushing and listing image from an extension, it's now possible to pull images from a 🦭 Podman Desktop extension #4155

  • The 🦭 Podman Desktop extension API has been enhanced with both the ability to list images & networks and the ability to create containers & networks. #4172

  • 🦭 Podman Desktop extensions now have a consistent way to run administrative tasks. #4049

  • Extensions now have the ability to register a custom Kubernetes config generator. #3970

  • The ability of extensions to add commands to UI menus has been extended; previously for action menus it was only available in the Image list screen. It is now possible for extensions to add commands to the action menus of items listed on the Containers list screen as well. #3947 & #3963

  • Extensions have gained the ability to contribute menu items in the UI based on specific conditions. #3959

  • Enhanced logic for displaying or hiding properties listed under the Settings > Preferences screens is now available. #4159


Other Notable Enhancements

  • The progress of loading an image into Kind is now visible as a task in the task manager. #4061

kind-progress-task

  • It's now possible to start a new Podman machine right after creation, or you can create it and wait to start it later. It's up to you! #4046

podman-start-now-or-later

  • The Podman machine and Kubernetes provider creation forms have an updated look & feel consisted with other forms in the user interface, along with minor bug fixes. #4317

Updated provider creation forms

  • The empty screen message shown when a search filter results in no matches now provides a message specific to filter matching, including the specific filter terms and an explicit button for clearing the filter. Previously, the screen displayed a generic message about how to create new objects of the type displayed on the screen, which led to some confusion about the status of the system. #3988
  • New support for adding spin animations to icons is now available. #4188

  • There is a new indeterminate progress bar type available for the task manager; this is meant for providing limited status for actions whose APIs do not provide detailed status information. #4016

  • For authenticating as admin to perform administrative tasks, 🦭 Podman Desktop now provides touchID support for macOS. #4050

touchID-support

  • Support for connecting to interactive terminals for containers via tty was added. #3900

  • It's now more clear which container/pod providers will autostart when 🦭 Podman Desktop starts. Previously autostart had both a global and a per-provider setting. It has been simplified by removing the global setting. #3840

  • The "Working with containers" section of the documentation has been reworked and improved. #3951


Notable Bug Fixes

  • The disable registry command was not blocking subsequent pulls from disabled registries. This has been corrected. #4183

  • Some users behind network proxies were unable to complete workflow involving the download of online resources. The mechanism for fetching these resources has been fixed to be proxy compatible to address this issue. #3994

  • The status of pods running in Kubernetes that are undergoing the deletion process is now accurately reflected in the 🦭 Podman Desktop UI. #3877

  • The image details page always listed the image as being "not used" even when it was. This has been corrected. #3985

  • Previously, deleting a specific image tag would cause all tags with the same Image ID to be deleted. This has been fixed so only the selected image tag will be deleted. #3837

  • Could not view the pod details for some remote Kubernetes cluster pods due to an encoding error. #4371

  • Error logs were being tracked separately from the actions they applied to. This has been addressed for kind cluster creation failure #4427 and Compose installation failure #4407.

  • For Linux users, 🦭 Podman Desktop previously did not appear under the "Development" menu when installed via Flatpak; it appeared under "Utilities." 🦭 Podman Desktop now appears under the "Development" menu. #3911

  • Podman Machine names are no longer prefixed with the "Podman Machine" string. #3878

touchID-support

  • The initial action state of pods and containers was being displayed as "STARTING" regardless of actual state; this has been corrected. #3889

  • Resizing the application window no longer makes the last lines of a container's terminal invisible. #3993

  • An issue with incorrect terminal behavior in response to long lines in the terminal attached to a container has been resolved. #3955

  • A spacing issue on the run image form has been corrected. [#4089]https://github.com/containers/podman-desktop/pull/4089

  • The "podify" icon & button on the Containers list was unusually large in release 1.4. That regression has been corrected in this release. #4122

  • An error in the instructions for Windows users on migrating from Docker has been corrected. #4157


Community Thank You

🎉 We’d like to say a big thank you to everyone who helped to make 🦭 Podman Desktop even better. In this release we received pull requests from the following people:


Final notes

Known Issues

We have a discussion board topic where we have posted known issues with this release. If you run into problems, please check this list before filing a bug - if we already have an issue open for it, it saves you the time and trouble of filing, and there may be a workaround posted in the issue.

Known Issues: Podman Desktop 1.5.2

Fixed Issues

The complete list of issues fixed in this release is available here.

Where to Download

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

- + \ No newline at end of file diff --git a/blog/tags/kind.html b/blog/tags/kind.html index c5a248a1074..c76d739927f 100644 --- a/blog/tags/kind.html +++ b/blog/tags/kind.html @@ -13,7 +13,7 @@ - + @@ -27,7 +27,7 @@ of Podman Desktop: not just local container engines, but Kubernetes too. More im providing tools that allow you to manage both environments and seamlessly move between them.

Some of these features were available in development mode over the last few releases, but since they are now in the release build, we will do a full roundup and talk about all the Kind features.

  • Kind Installation: Install Kind from the status bar
  • Manage Kind Clusters: Create and manage Kind clusters from Settings > Resources
  • Using Kind: Deploying YAML and sharing images to a cluster
  • Kind Ingress: Install a Contour ingress controller
  • UX and UI Improvements: Updated preferences and telemetry prompt

Podman Desktop 0.14 is now available. Click here to download it!

Podman-desktop-0-14-hero

- + \ No newline at end of file diff --git a/blog/tags/kubernetes.html b/blog/tags/kubernetes.html index 86926b53cf6..cbbd07a7a55 100644 --- a/blog/tags/kubernetes.html +++ b/blog/tags/kubernetes.html @@ -13,7 +13,7 @@ - + @@ -34,7 +34,7 @@ of Podman Desktop: not just local container engines, but Kubernetes too. More im providing tools that allow you to manage both environments and seamlessly move between them.

Some of these features were available in development mode over the last few releases, but since they are now in the release build, we will do a full roundup and talk about all the Kind features.

  • Kind Installation: Install Kind from the status bar
  • Manage Kind Clusters: Create and manage Kind clusters from Settings > Resources
  • Using Kind: Deploying YAML and sharing images to a cluster
  • Kind Ingress: Install a Contour ingress controller
  • UX and UI Improvements: Updated preferences and telemetry prompt

Podman Desktop 0.14 is now available. Click here to download it!

Podman-desktop-0-14-hero

· 4 min read
Tim deBoer

This release note covers Podman Desktop 0.13 release changes.

  • Podman Version: Podman 4.4.4 now included in Windows and Mac installers.
  • Compose: Support for installing Docker Compose.
  • Extensions: Improved extension support for Podman Desktop with additional capabilities.
  • UX and UI Improvements: Welcome page, task manager, resources, and update alerts.

Podman Desktop 0.13 is now available. Click here to download it!

Podman-desktop-0-13-hero

· 5 min read
Stevan Le Meur

This release note covers Podman Desktop 0.12 release changes.

  • Podman Version: Podman 4.4.1 now included in Windows and Mac installers.
  • Containers Configuration: Configure port mappings for an image without exported ports.
  • Windows Home Support: Podman Desktop now supports Windows Home Edition.
  • Start minimized: Option to start Podman Desktop minimized to system tray.
  • UX and UI Improvements: Consistent actions, placeholder for logs, unified icons and others.

Podman Desktop 0.12 is now available. Click here to download it!

podman-desktop-0-12-hero

· 10 min read
Stevan Le Meur

This release note covers Podman Desktop 0.11 release changes.

  • Air-Gapped Installation: New all-in-one binaries for air-gapped installation.
  • Feedback: Submit feedback directly from Podman Desktop.
  • Docker Compatibility Mode: Information about the Docker compatibility mode.
  • Proxy Setting: Toggle on/off the proxy setting.
  • Deploy to Kubernetes: Select the namespace to deploy to Kubernetes.
  • Registry Configuration: Simplified registry configuration for well known registries.
  • UX/UI Improvements: View pod's container logs, better visual feedback, configurable editor font size, and more.

Podman Desktop 0.11 is now available. Click here to download it!

· 5 min read
Dev Kumar

This release note covers Podman Desktop 0.10 release changes.

  • Containers Configuration: Container creation wizzard allowing to define environment variables, networking and more configuration options.
  • Kubernetes Improvements: Play Kubernetes YAML, custom Kubeconfig path support, reload of kube context.
  • Registries Configuration: Revamped registries configuration UI.
  • Podman Version: Podman 4.3.1 now included in Windows and Mac installers.
  • UX/UI Improvements: Improved lists, better contrast, and more.

Podman Desktop 0.10 is now available. Click here to download it!

- + \ No newline at end of file diff --git a/blog/tags/migrating.html b/blog/tags/migrating.html index 7da67549119..fbfe4373f19 100644 --- a/blog/tags/migrating.html +++ b/blog/tags/migrating.html @@ -13,13 +13,13 @@ - +

One post tagged with "migrating"

View All Tags

· 5 min read
Florent Benoit

The 5 things to know being a Docker user by using Podman Desktop:

  • Use a single UI: Podman Desktop works with several container engines, including Docker.
  • The compatibility mode: How to ensure tools are working with Podman instead of Docker.
  • Compose support: How to work with Compose files and Podman.
  • Kubernetes support: How to use Kubernetes with Podman.
  • Security: Use rootless mode or containers without root privileges.

5-things-to-know-for-a-docker-user-hero

- + \ No newline at end of file diff --git a/blog/tags/onboarding.html b/blog/tags/onboarding.html index 43502a73105..b447e9ccfe3 100644 --- a/blog/tags/onboarding.html +++ b/blog/tags/onboarding.html @@ -13,7 +13,7 @@ - + @@ -24,7 +24,7 @@ compose-onboarding-start compose-onboarding

Command Palette

A new, search-driven command palette is now available to enable quick access to various commands available across 🦭 Podman Desktop. You can try this new tool out by hitting the F1 key. #4081 && #3979

Expanded "Summary" tab for Kubernetes pods

Kubernetes pods now offer a more comprehensive set of information under the "Summary" tab, including networking, volumes, environment variables, and other key metadata.

Environment file support

When creating a container from the Images list, there's now an option to provide an environment file to set env variables for the new container. #4026 && #4025

Enhancements to the Settings area

The user experience for enabling or disabling Docker compatibility is improved, with a new entry in the Settings > Preferences screen that includes contextual guidance. #4093

Improved user experience for state changes

The user experience around state changes for containers, pods, and other objects in the UI is improved, with clear status messages and improved animated visual indicator of state changes. #4056

Extension API improvements

The 🦭 Podman Desktop extension API received many improvements, including:

  • In addition to pushing and listing image from an extension, it's now possible to pull images from a 🦭 Podman Desktop extension #4155

  • The 🦭 Podman Desktop extension API has been enhanced with both the ability to list images & networks and the ability to create containers & networks. #4172

  • 🦭 Podman Desktop extensions now have a consistent way to run administrative tasks. #4049

  • Extensions now have the ability to register a custom Kubernetes config generator. #3970

  • The ability of extensions to add commands to UI menus has been extended; previously for action menus it was only available in the Image list screen. It is now possible for extensions to add commands to the action menus of items listed on the Containers list screen as well. #3947 & #3963

  • Extensions have gained the ability to contribute menu items in the UI based on specific conditions. #3959

  • Enhanced logic for displaying or hiding properties listed under the Settings > Preferences screens is now available. #4159


Other Notable Enhancements

  • The progress of loading an image into Kind is now visible as a task in the task manager. #4061

kind-progress-task

  • It's now possible to start a new Podman machine right after creation, or you can create it and wait to start it later. It's up to you! #4046

podman-start-now-or-later

  • The Podman machine and Kubernetes provider creation forms have an updated look & feel consisted with other forms in the user interface, along with minor bug fixes. #4317

Updated provider creation forms

  • The empty screen message shown when a search filter results in no matches now provides a message specific to filter matching, including the specific filter terms and an explicit button for clearing the filter. Previously, the screen displayed a generic message about how to create new objects of the type displayed on the screen, which led to some confusion about the status of the system. #3988
  • New support for adding spin animations to icons is now available. #4188

  • There is a new indeterminate progress bar type available for the task manager; this is meant for providing limited status for actions whose APIs do not provide detailed status information. #4016

  • For authenticating as admin to perform administrative tasks, 🦭 Podman Desktop now provides touchID support for macOS. #4050

touchID-support

  • Support for connecting to interactive terminals for containers via tty was added. #3900

  • It's now more clear which container/pod providers will autostart when 🦭 Podman Desktop starts. Previously autostart had both a global and a per-provider setting. It has been simplified by removing the global setting. #3840

  • The "Working with containers" section of the documentation has been reworked and improved. #3951


Notable Bug Fixes

  • The disable registry command was not blocking subsequent pulls from disabled registries. This has been corrected. #4183

  • Some users behind network proxies were unable to complete workflow involving the download of online resources. The mechanism for fetching these resources has been fixed to be proxy compatible to address this issue. #3994

  • The status of pods running in Kubernetes that are undergoing the deletion process is now accurately reflected in the 🦭 Podman Desktop UI. #3877

  • The image details page always listed the image as being "not used" even when it was. This has been corrected. #3985

  • Previously, deleting a specific image tag would cause all tags with the same Image ID to be deleted. This has been fixed so only the selected image tag will be deleted. #3837

  • Could not view the pod details for some remote Kubernetes cluster pods due to an encoding error. #4371

  • Error logs were being tracked separately from the actions they applied to. This has been addressed for kind cluster creation failure #4427 and Compose installation failure #4407.

  • For Linux users, 🦭 Podman Desktop previously did not appear under the "Development" menu when installed via Flatpak; it appeared under "Utilities." 🦭 Podman Desktop now appears under the "Development" menu. #3911

  • Podman Machine names are no longer prefixed with the "Podman Machine" string. #3878

touchID-support

  • The initial action state of pods and containers was being displayed as "STARTING" regardless of actual state; this has been corrected. #3889

  • Resizing the application window no longer makes the last lines of a container's terminal invisible. #3993

  • An issue with incorrect terminal behavior in response to long lines in the terminal attached to a container has been resolved. #3955

  • A spacing issue on the run image form has been corrected. [#4089]https://github.com/containers/podman-desktop/pull/4089

  • The "podify" icon & button on the Containers list was unusually large in release 1.4. That regression has been corrected in this release. #4122

  • An error in the instructions for Windows users on migrating from Docker has been corrected. #4157


Community Thank You

🎉 We’d like to say a big thank you to everyone who helped to make 🦭 Podman Desktop even better. In this release we received pull requests from the following people:


Final notes

Known Issues

We have a discussion board topic where we have posted known issues with this release. If you run into problems, please check this list before filing a bug - if we already have an issue open for it, it saves you the time and trouble of filing, and there may be a workaround posted in the issue.

Known Issues: Podman Desktop 1.5.2

Fixed Issues

The complete list of issues fixed in this release is available here.

Where to Download

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

- + \ No newline at end of file diff --git a/blog/tags/openshift.html b/blog/tags/openshift.html index b1249119362..0e8e481e205 100644 --- a/blog/tags/openshift.html +++ b/blog/tags/openshift.html @@ -13,7 +13,7 @@ - + @@ -28,7 +28,7 @@ log for every component individually.

Click here to download it!

Podman-desktop-1-1-hero

· 5 min read
Tim deBoer

Podman Desktop 1.0 Release! 🎉

We still have many things planned, but with a little polish and a few more bug fixes we felt we've reached a level of maturity and it is now time to declare our 1.0 release.

Thank you to everyone who has been with us on this journey so far! Please keep the feedback coming!

  • Highlighting Featured Extensions: Easily find and install new extensions.
  • Featured Extensions: Two new extensions supporting OpenShift.
  • Podman Machine as Root: Ability to run a Podman machine as root.
  • UX and UI Improvements: Opening external websites, editing numbers, and tooltips.

Podman Desktop 1.0 is now available. Click here to download it!

Podman-desktop-1-0-hero

- + \ No newline at end of file diff --git a/blog/tags/podman-desktop.html b/blog/tags/podman-desktop.html index 81c92c53d30..0979dc7ffe6 100644 --- a/blog/tags/podman-desktop.html +++ b/blog/tags/podman-desktop.html @@ -13,7 +13,7 @@ - + @@ -34,7 +34,7 @@ of Podman Desktop: not just local container engines, but Kubernetes too. More im providing tools that allow you to manage both environments and seamlessly move between them.

Some of these features were available in development mode over the last few releases, but since they are now in the release build, we will do a full roundup and talk about all the Kind features.

  • Kind Installation: Install Kind from the status bar
  • Manage Kind Clusters: Create and manage Kind clusters from Settings > Resources
  • Using Kind: Deploying YAML and sharing images to a cluster
  • Kind Ingress: Install a Contour ingress controller
  • UX and UI Improvements: Updated preferences and telemetry prompt

Podman Desktop 0.14 is now available. Click here to download it!

Podman-desktop-0-14-hero

· 4 min read
Tim deBoer

This release note covers Podman Desktop 0.13 release changes.

  • Podman Version: Podman 4.4.4 now included in Windows and Mac installers.
  • Compose: Support for installing Docker Compose.
  • Extensions: Improved extension support for Podman Desktop with additional capabilities.
  • UX and UI Improvements: Welcome page, task manager, resources, and update alerts.

Podman Desktop 0.13 is now available. Click here to download it!

Podman-desktop-0-13-hero

· 5 min read
Florent Benoit

The 5 things to know being a Docker user by using Podman Desktop:

  • Use a single UI: Podman Desktop works with several container engines, including Docker.
  • The compatibility mode: How to ensure tools are working with Podman instead of Docker.
  • Compose support: How to work with Compose files and Podman.
  • Kubernetes support: How to use Kubernetes with Podman.
  • Security: Use rootless mode or containers without root privileges.

5-things-to-know-for-a-docker-user-hero

· 5 min read
Stevan Le Meur

This release note covers Podman Desktop 0.12 release changes.

  • Podman Version: Podman 4.4.1 now included in Windows and Mac installers.
  • Containers Configuration: Configure port mappings for an image without exported ports.
  • Windows Home Support: Podman Desktop now supports Windows Home Edition.
  • Start minimized: Option to start Podman Desktop minimized to system tray.
  • UX and UI Improvements: Consistent actions, placeholder for logs, unified icons and others.

Podman Desktop 0.12 is now available. Click here to download it!

podman-desktop-0-12-hero

· 10 min read
Stevan Le Meur

This release note covers Podman Desktop 0.11 release changes.

  • Air-Gapped Installation: New all-in-one binaries for air-gapped installation.
  • Feedback: Submit feedback directly from Podman Desktop.
  • Docker Compatibility Mode: Information about the Docker compatibility mode.
  • Proxy Setting: Toggle on/off the proxy setting.
  • Deploy to Kubernetes: Select the namespace to deploy to Kubernetes.
  • Registry Configuration: Simplified registry configuration for well known registries.
  • UX/UI Improvements: View pod's container logs, better visual feedback, configurable editor font size, and more.

Podman Desktop 0.11 is now available. Click here to download it!

· 5 min read
Dev Kumar

This release note covers Podman Desktop 0.10 release changes.

  • Containers Configuration: Container creation wizzard allowing to define environment variables, networking and more configuration options.
  • Kubernetes Improvements: Play Kubernetes YAML, custom Kubeconfig path support, reload of kube context.
  • Registries Configuration: Revamped registries configuration UI.
  • Podman Version: Podman 4.3.1 now included in Windows and Mac installers.
  • UX/UI Improvements: Improved lists, better contrast, and more.

Podman Desktop 0.10 is now available. Click here to download it!

· 7 min read
Florent Benoit

GitHub announced last week that Codespaces is available for everyone and it includes free minutes.

Let see how we can use a Development Container having all the tools to build and run Podman Desktop. The Development Container works locally using Visual Studio Code but in this blog post we will see how it works directly with a simple click from GitHub.

The challenges are to run a desktop tool (Podman Desktop) and running a container engine (Podman) inside this Development Container without using too many memory !

- + \ No newline at end of file diff --git a/blog/tags/release.html b/blog/tags/release.html index 22cfb7b915d..371caef7895 100644 --- a/blog/tags/release.html +++ b/blog/tags/release.html @@ -13,7 +13,7 @@ - + @@ -34,7 +34,7 @@ of Podman Desktop: not just local container engines, but Kubernetes too. More im providing tools that allow you to manage both environments and seamlessly move between them.

Some of these features were available in development mode over the last few releases, but since they are now in the release build, we will do a full roundup and talk about all the Kind features.

  • Kind Installation: Install Kind from the status bar
  • Manage Kind Clusters: Create and manage Kind clusters from Settings > Resources
  • Using Kind: Deploying YAML and sharing images to a cluster
  • Kind Ingress: Install a Contour ingress controller
  • UX and UI Improvements: Updated preferences and telemetry prompt

Podman Desktop 0.14 is now available. Click here to download it!

Podman-desktop-0-14-hero

· 4 min read
Tim deBoer

This release note covers Podman Desktop 0.13 release changes.

  • Podman Version: Podman 4.4.4 now included in Windows and Mac installers.
  • Compose: Support for installing Docker Compose.
  • Extensions: Improved extension support for Podman Desktop with additional capabilities.
  • UX and UI Improvements: Welcome page, task manager, resources, and update alerts.

Podman Desktop 0.13 is now available. Click here to download it!

Podman-desktop-0-13-hero

· 5 min read
Stevan Le Meur

This release note covers Podman Desktop 0.12 release changes.

  • Podman Version: Podman 4.4.1 now included in Windows and Mac installers.
  • Containers Configuration: Configure port mappings for an image without exported ports.
  • Windows Home Support: Podman Desktop now supports Windows Home Edition.
  • Start minimized: Option to start Podman Desktop minimized to system tray.
  • UX and UI Improvements: Consistent actions, placeholder for logs, unified icons and others.

Podman Desktop 0.12 is now available. Click here to download it!

podman-desktop-0-12-hero

· 10 min read
Stevan Le Meur

This release note covers Podman Desktop 0.11 release changes.

  • Air-Gapped Installation: New all-in-one binaries for air-gapped installation.
  • Feedback: Submit feedback directly from Podman Desktop.
  • Docker Compatibility Mode: Information about the Docker compatibility mode.
  • Proxy Setting: Toggle on/off the proxy setting.
  • Deploy to Kubernetes: Select the namespace to deploy to Kubernetes.
  • Registry Configuration: Simplified registry configuration for well known registries.
  • UX/UI Improvements: View pod's container logs, better visual feedback, configurable editor font size, and more.

Podman Desktop 0.11 is now available. Click here to download it!

· 5 min read
Dev Kumar

This release note covers Podman Desktop 0.10 release changes.

  • Containers Configuration: Container creation wizzard allowing to define environment variables, networking and more configuration options.
  • Kubernetes Improvements: Play Kubernetes YAML, custom Kubeconfig path support, reload of kube context.
  • Registries Configuration: Revamped registries configuration UI.
  • Podman Version: Podman 4.3.1 now included in Windows and Mac installers.
  • UX/UI Improvements: Improved lists, better contrast, and more.

Podman Desktop 0.10 is now available. Click here to download it!

- + \ No newline at end of file diff --git a/blog/tags/settings.html b/blog/tags/settings.html index 9f9fc58b734..c5c6d54f882 100644 --- a/blog/tags/settings.html +++ b/blog/tags/settings.html @@ -13,7 +13,7 @@ - + @@ -24,7 +24,7 @@ compose-onboarding-start compose-onboarding

Command Palette

A new, search-driven command palette is now available to enable quick access to various commands available across 🦭 Podman Desktop. You can try this new tool out by hitting the F1 key. #4081 && #3979

Expanded "Summary" tab for Kubernetes pods

Kubernetes pods now offer a more comprehensive set of information under the "Summary" tab, including networking, volumes, environment variables, and other key metadata.

Environment file support

When creating a container from the Images list, there's now an option to provide an environment file to set env variables for the new container. #4026 && #4025

Enhancements to the Settings area

The user experience for enabling or disabling Docker compatibility is improved, with a new entry in the Settings > Preferences screen that includes contextual guidance. #4093

Improved user experience for state changes

The user experience around state changes for containers, pods, and other objects in the UI is improved, with clear status messages and improved animated visual indicator of state changes. #4056

Extension API improvements

The 🦭 Podman Desktop extension API received many improvements, including:

  • In addition to pushing and listing image from an extension, it's now possible to pull images from a 🦭 Podman Desktop extension #4155

  • The 🦭 Podman Desktop extension API has been enhanced with both the ability to list images & networks and the ability to create containers & networks. #4172

  • 🦭 Podman Desktop extensions now have a consistent way to run administrative tasks. #4049

  • Extensions now have the ability to register a custom Kubernetes config generator. #3970

  • The ability of extensions to add commands to UI menus has been extended; previously for action menus it was only available in the Image list screen. It is now possible for extensions to add commands to the action menus of items listed on the Containers list screen as well. #3947 & #3963

  • Extensions have gained the ability to contribute menu items in the UI based on specific conditions. #3959

  • Enhanced logic for displaying or hiding properties listed under the Settings > Preferences screens is now available. #4159


Other Notable Enhancements

  • The progress of loading an image into Kind is now visible as a task in the task manager. #4061

kind-progress-task

  • It's now possible to start a new Podman machine right after creation, or you can create it and wait to start it later. It's up to you! #4046

podman-start-now-or-later

  • The Podman machine and Kubernetes provider creation forms have an updated look & feel consisted with other forms in the user interface, along with minor bug fixes. #4317

Updated provider creation forms

  • The empty screen message shown when a search filter results in no matches now provides a message specific to filter matching, including the specific filter terms and an explicit button for clearing the filter. Previously, the screen displayed a generic message about how to create new objects of the type displayed on the screen, which led to some confusion about the status of the system. #3988
  • New support for adding spin animations to icons is now available. #4188

  • There is a new indeterminate progress bar type available for the task manager; this is meant for providing limited status for actions whose APIs do not provide detailed status information. #4016

  • For authenticating as admin to perform administrative tasks, 🦭 Podman Desktop now provides touchID support for macOS. #4050

touchID-support

  • Support for connecting to interactive terminals for containers via tty was added. #3900

  • It's now more clear which container/pod providers will autostart when 🦭 Podman Desktop starts. Previously autostart had both a global and a per-provider setting. It has been simplified by removing the global setting. #3840

  • The "Working with containers" section of the documentation has been reworked and improved. #3951


Notable Bug Fixes

  • The disable registry command was not blocking subsequent pulls from disabled registries. This has been corrected. #4183

  • Some users behind network proxies were unable to complete workflow involving the download of online resources. The mechanism for fetching these resources has been fixed to be proxy compatible to address this issue. #3994

  • The status of pods running in Kubernetes that are undergoing the deletion process is now accurately reflected in the 🦭 Podman Desktop UI. #3877

  • The image details page always listed the image as being "not used" even when it was. This has been corrected. #3985

  • Previously, deleting a specific image tag would cause all tags with the same Image ID to be deleted. This has been fixed so only the selected image tag will be deleted. #3837

  • Could not view the pod details for some remote Kubernetes cluster pods due to an encoding error. #4371

  • Error logs were being tracked separately from the actions they applied to. This has been addressed for kind cluster creation failure #4427 and Compose installation failure #4407.

  • For Linux users, 🦭 Podman Desktop previously did not appear under the "Development" menu when installed via Flatpak; it appeared under "Utilities." 🦭 Podman Desktop now appears under the "Development" menu. #3911

  • Podman Machine names are no longer prefixed with the "Podman Machine" string. #3878

touchID-support

  • The initial action state of pods and containers was being displayed as "STARTING" regardless of actual state; this has been corrected. #3889

  • Resizing the application window no longer makes the last lines of a container's terminal invisible. #3993

  • An issue with incorrect terminal behavior in response to long lines in the terminal attached to a container has been resolved. #3955

  • A spacing issue on the run image form has been corrected. [#4089]https://github.com/containers/podman-desktop/pull/4089

  • The "podify" icon & button on the Containers list was unusually large in release 1.4. That regression has been corrected in this release. #4122

  • An error in the instructions for Windows users on migrating from Docker has been corrected. #4157


Community Thank You

🎉 We’d like to say a big thank you to everyone who helped to make 🦭 Podman Desktop even better. In this release we received pull requests from the following people:


Final notes

Known Issues

We have a discussion board topic where we have posted known issues with this release. If you run into problems, please check this list before filing a bug - if we already have an issue open for it, it saves you the time and trouble of filing, and there may be a workaround posted in the issue.

Known Issues: Podman Desktop 1.5.2

Fixed Issues

The complete list of issues fixed in this release is available here.

Where to Download

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

- + \ No newline at end of file diff --git a/blog/tags/story.html b/blog/tags/story.html index df502c6cd7f..a428bce119e 100644 --- a/blog/tags/story.html +++ b/blog/tags/story.html @@ -13,13 +13,13 @@ - +

One post tagged with "story"

View All Tags

· 9 min read
Fabrice Flore-Thebault

In this blog post you will learn to use Podman Desktop to run the Kubernetes documentation example: Deploying PHP Guestbook application with Redis.

On the agenda:

  1. Installing Podman Desktop.
  2. Installing and initializing your container engine: Podman.
  3. Installing and starting your local Kubernetes provider: Kind.
  4. Starting the Redis leader.
  5. Starting and scaling the Redis followers.
  6. Starting and exposing the Guestbook frontend.
- + \ No newline at end of file diff --git a/core-values.html b/core-values.html index 7aa50ab7500..596a649eb3b 100644 --- a/core-values.html +++ b/core-values.html @@ -13,13 +13,13 @@ - +

Podman Desktop: Core Values

Podman Desktop is designed and built with the following core values in mind.

Fast and Light

Daemon-less and using the fastest technologies to make Podman Desktop fast to use.

Reactive and light on resources utilized from your environment.

Open

While focusing on Podman as a container engine packaged by default, Podman Desktop also enables other container engines.

This gives the end-user a single tool to manage all their containers independently from the engine used.

Simple

Managing a container engine locally can be hard.

Running Kubernetes in a local environment requires knowledge.

Podman Desktop takes care of this complexity and enables developers to focus on their code.

Extensible Workflow

Podman Desktop provides extensions points to enable the community to build more features.

This allows more in-deep integrations with other tools and technologies to extend workflows and capabilities of the tool.

Thus giving the developer a single tool to manage all their containers independently from the engine used.

- + \ No newline at end of file diff --git a/docs/compose.html b/docs/compose.html index a236e750c47..5687c0d99dc 100644 --- a/docs/compose.html +++ b/docs/compose.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/compose/running-compose.html b/docs/compose/running-compose.html index 46d965697a7..00d340de91c 100644 --- a/docs/compose/running-compose.html +++ b/docs/compose/running-compose.html @@ -13,13 +13,13 @@ - +

Running Compose files

With Podman Desktop, you can manage multi-container applications defined in a Compose file.

Prerequisites

Procedure

  • Run the command in a terminal:

    $ podman compose --file compose.yaml up --detach

    (Alternatively) With an older Podman version, run docker-compose:

    1. Set the DOCKER_HOST variable.

    2. Run docker-compose rather than podman compose:

      $ docker-compose --file compose.yaml up --detach

    (Optionally) Learn about Compose commands:

    $ podman compose --help

Verification

  1. The Compose engine starts the containers and services, and adds a label to each resource:

    • Container label: com.docker.compose.project
    • Service label: com.docker.compose.service
  2. Podman Desktop detects the Compose labels, and displays the container group as a group of containers.

    The Podman Desktop Containers list displays the containers created by Compose grouped in a container group with a (compose) suffix, such as flask-redis (compose).

img2

- + \ No newline at end of file diff --git a/docs/compose/setting-up-compose.html b/docs/compose/setting-up-compose.html index 5343bb87750..00e55561fb0 100644 --- a/docs/compose/setting-up-compose.html +++ b/docs/compose/setting-up-compose.html @@ -13,13 +13,13 @@ - +
-

Setting up Compose

Podman Desktop can install the Compose engine.

Procedure

  1. Go to Settings > Resources.
  2. In the Compose tile, click Setup, and follow the prompts.

Verification

  1. The Compose reference implementation is in your PATH, therefore, you can display the Compose engine version in a terminal:

    $ docker-compose version
  2. Podman detects the same Compose version:

    $ podman compose version

Next steps

Additional resources

- +

Setting up Compose

Podman Desktop can install the Compose engine.

Procedure

  1. Go to Settings > Resources.
  2. In the Compose tile, click Setup, and follow the prompts.

Verification

  1. The Compose reference implementation is in your PATH, therefore, you can display the Compose engine version in a terminal:

    $ docker-compose version
  2. Podman detects the same Compose version:

    $ podman compose version

Next steps

Additional resources

+ \ No newline at end of file diff --git a/docs/containers.html b/docs/containers.html index 6a3631a056a..618e0aea5bc 100644 --- a/docs/containers.html +++ b/docs/containers.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/containers/creating-a-pod.html b/docs/containers/creating-a-pod.html index 6ea9db2748b..69c0f6dbd2b 100644 --- a/docs/containers/creating-a-pod.html +++ b/docs/containers/creating-a-pod.html @@ -13,13 +13,13 @@ - +

Creating a pod from selected containers

With Podman Desktop, you can create a pod from your selected containers, and run the pod on the Podman container engine.

Consider running containers in a pod to:

  1. Expose your frontend application to the public network.
  2. Protect your database container in a private network.

Prerequisites

  • You are using the Podman container engine.
  • Your containers, such as database and frontend, running or stopped, are available on the Containers page.
  • The frontend container is configured to access the service exposed by the database container on localhost, such as localhost:6379.

Procedure

  1. Go to Containers.
  2. Click the checkbox in the container line for your containers, such as database and frontend.
  3. Click .
  4. In the Copy containers to a pod screen:
    1. Name of the pod: enter your pod name, such as my-pod.
    2. All selected ports will be exposed:
      1. Select frontend.
      2. Clear database.
  5. Click Create Pod.

Verification

  1. Go to Pods.
  2. Click your pod, such as my-pod.
  3. Go to Logs: see the combined logs from the two containers.
  4. Go to Summary: see the containers.
  5. Click frontend-podified.
  6. Click .
  7. Your browser opens the service exposed by your frontend-podified container.
  8. Go to Containers: see the running containers.
- + \ No newline at end of file diff --git a/docs/containers/images.html b/docs/containers/images.html index ea77a6581f8..34a458e54d1 100644 --- a/docs/containers/images.html +++ b/docs/containers/images.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/containers/images/building-an-image.html b/docs/containers/images/building-an-image.html index 46f9aab13c9..d7752cb0cce 100644 --- a/docs/containers/images/building-an-image.html +++ b/docs/containers/images/building-an-image.html @@ -13,13 +13,13 @@ - +

Building an image on your container engine

With Podman Desktop, you can build an image from a Containerfile on your container engine.

Prerequisites

  • Your Containerfile: Containerfile or Dockerfile.

Procedure

  1. Go to Images.
  2. Click Build an image.
  3. On the Build Image from Containerfile screen
    1. Containerfile path: select the Containerfile or Dockerfile to build.
    2. Image Name: enter your image name, such as my-image. If you want to push the image to a registry, use the fully qualified image name that your registry requires, such as quay.io/my-repository/my-image, ghcr.io/my-repository/my-image, or docker.io/my-repository/my-image.
    3. Click Build.
    4. Click Done.

Verification

  1. Go to Images.
  2. : Enter your image name, such as quay.io/my-repository/my-image, ghcr.io/my-repository/my-image, or docker.io/my-repository/my-image.
  3. Click the line with your image name.
  4. Go to History.
    1. Click the content area to activate it.
    2. Enter Ctrl + F on Windows and Linux, or + F on macOS to start searching in the content.
  5. Go to Inspect.
    1. Click the content area to activate it.
    2. Enter Ctrl + F on Windows and Linux, or + F on macOS to start searching in the content.
  6. Click ..
    1. You see the Create a container screen.
- + \ No newline at end of file diff --git a/docs/containers/images/pulling-an-image.html b/docs/containers/images/pulling-an-image.html index 1648dc8f383..e2ba7ce8bdf 100644 --- a/docs/containers/images/pulling-an-image.html +++ b/docs/containers/images/pulling-an-image.html @@ -13,13 +13,13 @@ - +

Pulling an image to your container engine

With Podman Desktop, you can pull an image from a registry, to your container engine.

Prerequisites

  • The image is available in a registry.
  • If the registry or the image are not publicly available, you configured access to the registry on Podman Desktop in Settings > Registries.

Procedure

  1. Go to Images.
  2. Click Pull an image.
  3. On the Image to Pull screen:
    1. Image to pull: enter the image name, such as quay.io/podman/hello. Prefer the fully qualified image name that specifies the registry, to the short name that might lead to registry resolution mistakes.
    2. Click Pull image.
  4. Click Done.

Verification

  1. Go to Images.
  2. Click the image name you pulled, such as quay.io/podman/hello. Podman Desktop always displays the fully qualified image name.
  3. Go to Summary.
  4. Go to History.
    1. Click the output area.
    2. Enter Ctrl + F on Windows and Linux, or + F on macOS to start searching in the content.
  5. Go to Inspect.
    1. Click the output area.
    2. Enter Ctrl + F on Windows and Linux, or + F on macOS to start searching in the content.
- + \ No newline at end of file diff --git a/docs/containers/images/pushing-an-image-to-a-registry.html b/docs/containers/images/pushing-an-image-to-a-registry.html index 94d50f18498..4fe7e9a4e2e 100644 --- a/docs/containers/images/pushing-an-image-to-a-registry.html +++ b/docs/containers/images/pushing-an-image-to-a-registry.html @@ -13,14 +13,14 @@ - +

Pushing an image to a registry

With Podman Desktop, you can push an image to registries.

Prerequisites

  • You have configured your registry Settings > Registries.
  • You have built an image, which name is the fully qualified name required for your registry, such as quay.io/my-repository/my-image, ghcr.io/my-repository/my-image, or docker.io/my-repository/my-image. Ensure that the image name includes the registry where to publish the image. To publish on quay.io/repository the image my-image, the FQN image name should be quay.io/repository/my-image.

Procedure

  1. Go to Images.
  2. On your image line, click > Push Image.
  3. Select the Image tag for your registry.
  4. Click Push Image.
  5. Click Done.

Verification

  1. Go to your container registry.
  2. Find your image.
- + \ No newline at end of file diff --git a/docs/containers/onboarding.html b/docs/containers/onboarding.html index 092d26de985..9981d544e5b 100644 --- a/docs/containers/onboarding.html +++ b/docs/containers/onboarding.html @@ -13,13 +13,13 @@ - +

Onboarding for container workloads

To run container workloads, set up at least one container engine.

Podman Desktop does not automatically set up container engine resources that you might not need.

Procedure

  1. Select a container engine supporting your workload.

    WorkloadPodmanNative DockerDocker Desktop
    Rootless containers✅ yes✅ yes❌ no
    Rootful containers✅ yes✅ yes✅ yes
    Compose✅ yes✅ yes✅ yes
    Pods✅ yes❌ no❌ no

    Podman supports rootless container and pods, in addition to rootful containers and Compose.

  2. Select an execution environment supporting your container engine and your operating system.

    • Select a Podman execution environment:

      Host operating systemNative containersPodman MachineLima instance
      Windows❌ no✅ yes❌ experimental
      macOS❌ no✅ yes✅ yes
      Linux✅ yes❌ disabled in Podman Desktop✅ yes
    • Select a Docker execution environment:

      Host operating systemNative containersDocker DesktopLima instance
      Windows❌ no✅ yes❌ experimental
      macOS❌ no✅ yes✅ yes
      Linux✅ yes✅ yes✅ yes
  3. Setup your container engine.

- + \ No newline at end of file diff --git a/docs/containers/registries.html b/docs/containers/registries.html index 355341d13a9..97dc0dfa173 100644 --- a/docs/containers/registries.html +++ b/docs/containers/registries.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/containers/registries/authenticating-to-a-preconfigured-registry.html b/docs/containers/registries/authenticating-to-a-preconfigured-registry.html index d066a36a44d..48572251fd2 100644 --- a/docs/containers/registries/authenticating-to-a-preconfigured-registry.html +++ b/docs/containers/registries/authenticating-to-a-preconfigured-registry.html @@ -13,13 +13,13 @@ - +

Authenticating to a pre-configured registry

With Podman Desktop, you can authenticate to a set of pre-configured registries:

  • Red Hat Quay
  • Docker Hub
  • GitHub
  • Google Container registry

Prerequisites

  • You have credentials on a pre-configured image registry.

Procedure

  1. Go to Settings > Registries.

  2. On your registry line, click Configure.

    1. User name: Enter your user name.
    2. Password: Enter your password or OAuth secret.
    3. Click Login.

    Authenticating to a preconfigured registry

Verification

  1. Go to Images.
  2. You can pull a private image from the registry.
  3. You can push an image to the registry:
    1. Build an image with the fully qualified name required for your registry, such as quay.io/my-repository/my-image, ghcr.io/my-repository/my-image, docker.io/my-repository/my-image, or my-registry.tld/my-repository/my-image.
    2. On your image line, click .
    3. The contextual menu has a Push Image entry.
- + \ No newline at end of file diff --git a/docs/containers/registries/insecure-registry.html b/docs/containers/registries/insecure-registry.html index 8de2e07e6fd..fb20d0efc62 100644 --- a/docs/containers/registries/insecure-registry.html +++ b/docs/containers/registries/insecure-registry.html @@ -13,13 +13,13 @@ - +

Adding an Insecure Registry to Podman Desktop

In this guide, you will learn how to add an insecure registry to Podman Desktop. An insecure registry allows you to pull and push container images either over an unencrypted HTTP connection, or a HTTPS connection with a self-signed unverified certificate. Please note that using an insecure registry can expose your data to security risks, so it's recommended to use secure connections with a verifiable certificate whenever possible.

Prerequisites

Procedure

  1. Add your insecure registry within Settings > Registries.

    Adding a custom registry

  2. Click "Yes" to the insecure registry warning.

    Podman Desktop Registry Warning

  3. SSH into the Podman Machine to edit registries.conf.

    $ podman machine ssh [optional-machine-name]
  4. Open registries.conf.

    $ sudo vi /etc/containers/registries.conf
  5. Add the insecure registry: Add a new [[registry]] section for the URL of the insecure registry you want to use. For example, if your insecure registry is located at http://registry.example.com, add the following lines:

    [[registry]]
    location = "registry.example.com"
    insecure = true

    If you have multiple registries, you can add one [[registry]] block per registry.

  6. Save and exit the file.

  7. Restart Podman by the CLI or through Podman Desktop.

    $ podman machine stop
    $ podman machine start

Verification

  1. Go to Images.
  2. You can pull a private image from the registry.
  3. You can push an image to the registry:
    1. Build an image with the fully qualified name required for your registry, such as quay.io/my-repository/my-image, ghcr.io/my-repository/my-image, docker.io/my-repository/my-image, or my-registry.tld/my-repository/my-image.
    2. On your image line, click .
    3. The contextual menu has a Push Image entry.
- + \ No newline at end of file diff --git a/docs/containers/starting-a-container.html b/docs/containers/starting-a-container.html index 6a3540cacb5..ebc9d1df7d1 100644 --- a/docs/containers/starting-a-container.html +++ b/docs/containers/starting-a-container.html @@ -13,14 +13,14 @@ - +

Starting a container on your container engine

With Podman Desktop, you can start a container from an image on your container engine. You can interact with the running container by using the terminal in Podman Desktop, or by opening your browser to the exposed ports.

Prerequisites

  • The Images list has your image, such as quay.io/podman/hello.

Procedure

  1. Go to Images.
  2. On the line with your image name, such as quay.io/podman/hello, click .
  3. On the Create a container screen, review the configuration.
  4. Click Start Container.

Verification

  1. Go to Containers.
  2. : Enter your image name, such as quay.io/podman/hello, to find your running container.
  3. Click your running container name.
  4. To view logs:
    1. Go to Logs.
    2. Browse the content.
  5. To inspect the container:
    1. Go to Inspect.
    2. Click the content area to activate it.
    3. Enter Ctrl + F on Windows and Linux, or + F on macOS to start searching in the content.
  6. To generate Kubernetes YAML, when your container engine is Podman:
    1. Go to Kube.
    2. Click the content area to activate it.
    3. Enter Ctrl + F on Windows and Linux, or + F on macOS to start searching in the content.
    4. Copy the content to a YAML file.
    5. Later, you can reuse this file to start a container in Podman from Kubernetes YAML, or to start a pod in Kubernetes.
  7. To interact with the container terminal:
    1. Go to Terminal.
    2. Click the content area to activate the terminal.
    3. Enter your commands.
  8. To interact with the exposed ports:
    1. Click .
    2. Your browser opens a page to the first exposed port on localhost.
  9. To deploy to your current Kubernetes context, when you container engine is Podman:
    1. Click .
    2. Review the Deploy generated pod to Kubernetes screen.
    3. Click .
  10. To stop the container:
  11. Click .
  12. To delete the container:
  13. Click .
- + \ No newline at end of file diff --git a/docs/extensions.html b/docs/extensions.html index 06318281032..75b954bb55a 100644 --- a/docs/extensions.html +++ b/docs/extensions.html @@ -13,13 +13,13 @@ - +

Podman Desktop extensions

Podman Desktop extensions contribute to:

  • Container engine support, such as Podman, Docker.
  • Virtual machine support, such as Lima.
  • Podman Desktop extension points such as tray icon menu, status bar items, icons, menus, and commands.
  • Integration with third parties tools, such as Kind or Compose.

Next steps

- + \ No newline at end of file diff --git a/docs/extensions/install.html b/docs/extensions/install.html index 3b58ab8e39e..615271ca215 100644 --- a/docs/extensions/install.html +++ b/docs/extensions/install.html @@ -13,13 +13,13 @@ - +

Installing a Podman Desktop extension

Consider installing Podman Desktop extensions to enrich the default capabilities of Podman Desktop.

Prerequisites

Procedure

  1. Go to the Settings > Extensions.

  2. In the Name of the Image field, write the extension OCI image name.

  3. Click the Install extension from the OCI image button.

Verification

  • If Podman Desktop satisfies the minimum required version of the extension, the extension activates.

  • Depending on the extension, items can appear in the status bar, tray menu, or other contributions.

- + \ No newline at end of file diff --git a/docs/extensions/publish.html b/docs/extensions/publish.html index d714345c20b..204cdec3190 100644 --- a/docs/extensions/publish.html +++ b/docs/extensions/publish.html @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@

Packaging and publishing a Podman Desktop extension

To enable users to install your extension, consider publishing your extension to an Open Container Initiative (OCI) image registry.

Prerequisites

  • The extension builds successfully. See Writing a Podman Desktop extension.

  • All runtime dependencies are inside the final binary.

  • An OCI image registry to publish to, such as quay.io/fbenoit/my-first-extension.

  • (Optional) The OCI image registry is public to enable anybody to fetch the image.

Procedure

  1. Create and edit a Containerfile file.

  2. Use a scratch image. The extension requires no runtime:

    FROM scratch
  3. Apply mandatory Podman Desktop metadata on the OCI image:

    LABEL org.opencontainers.image.title="My first extension" \
    org.opencontainers.image.description="Example of extension" \
    org.opencontainers.image.vendor="podman-desktop" \
    io.podman-desktop.api.version=">= 0.12.0"

    io.podman-desktop.api.version=">= 0.12.0" sets the minimal Podman Desktop version that the extension requires to run.

  4. Copy the extension assembly, including the metadata, icon, and production binary, to the /extension folder inside the image:

    COPY package.json /extension/
    COPY icon.png /extension/
    COPY dist /extension/dist
  5. Build an image:

    $ podman build -t quay.io/fbenoit/my-first-extension .
  6. Push the image and manifest to the OCI image registry:

    $ podman push quay.io/fbenoit/my-first-extension

Next steps

- + \ No newline at end of file diff --git a/docs/extensions/write.html b/docs/extensions/write.html index a4f5e116f98..26f773612fb 100644 --- a/docs/extensions/write.html +++ b/docs/extensions/write.html @@ -13,13 +13,13 @@ - +

Writing a Podman Desktop extension

To write a Podman Desktop extension, start a Node.js or TypeScript project calling the Podman Desktop API, and ensure all runtime dependencies are inside the final binary.

Initializing a Podman Desktop extension

Write the Podman Desktop extension Node.js package metadata.

Prerequisites

  • JavaScript or TypeScript

Procedure

  1. Create and edit a package.json file.

    {}
  2. Add TypeScript and Podman Desktop API to the development dependencies:

     "devDependencies": {
    "@podman-desktop/api": "latest",
    "typescript": "latest"
    },
  3. Add the required metadata:

      "name": "my-extension",
    "displayName": "My Hello World extension",
    "description": "How to write my first extension",
    "version": "0.0.1",
    "icon": "icon.png",
    "publisher": "benoitf",
  4. Add the Podman Desktop version that might run this extension:

      "engines": {
    "podman-desktop": "latest"
    },
  5. Add the main entry point:

     "main": "./dist/extension.js"
  6. Add a Hello World command contribution

      "contributes": {
    "commands": [
    {
    "command": "my.first.command",
    "title": "My First Extension: Hello World"
    }
    ]
    }
  7. Add an icon.png file to the project.

Verification

  • Full package.json example:

    {
    "devDependencies": {
    "@podman-desktop/api": "latest",
    "typescript": "latest"
    },
    "name": "my-extension",
    "displayName": "My Hello World extension",
    "description": "How to write my first extension",
    "version": "0.0.1",
    "icon": "icon.png",
    "publisher": "benoitf",
    "engines": {
    "podman-desktop": "latest"
    },
    "main": "./dist/extension.js",
    "contributes": {
    "commands": [
    {
    "command": "my.first.command",
    "title": "My First Extension: Hello World"
    }
    ]
    }
    }

Writing a Podman Desktop extension entry point

Write the extension features.

Prerequisites

  • JavaScript or TypeScript

Procedure

  1. Create and edit a dist/extension.js file.

  2. Import the Podman Desktop API

    import * as podmanDesktopAPI from '@podman-desktop/api';
  3. Expose the activate function to call on activation.

    The signature of the function can be:

    • Synchronous

      export function activate(): void;
    • Asynchronous

      export async function activate(): Promise<void>;
  4. (Optional) Add an extension context to the activate function enabling the extension to register disposable resources:

    export async function activate(extensionContext: podmanDesktopAPI.ExtensionContext): Promise<void> {}
  5. Register the command and the callback

    import * as podmanDesktopAPI from '@podman-desktop/api';
    export async function activate(extensionContext: podmanDesktopAPI.ExtensionContext): Promise<void> {
    // register the command referenced in package.json file
    const myFirstCommand = podmanDesktopAPI.commands.registerCommand('my.first.command', async () => {
    // display a choice to the user for selecting some values
    const result = await podmanDesktopAPI.window.showQuickPick(['un', 'deux', 'trois'], {
    canPickMany: true, // user can select more than one choice
    });

    // display an information message with the user choice
    await podmanDesktopAPI.window.showInformationMessage(`The choice was: ${result}`);
    });

    // create an item in the status bar to run our command
    // it will stick on the left of the status bar
    const item = podmanDesktopAPI.window.createStatusBarItem(podmanDesktopAPI.StatusBarAlignLeft, 100);
    item.text = 'My first command';
    item.command = 'my.first.command';
    item.show();

    // register disposable resources to it's removed when we deactivte the extension
    extensionContext.subscriptions.push(myFirstCommand);
    extensionContext.subscriptions.push(item);
    }
  6. (Optional) Expose the deactivate function to call on deactivation.

    The signature of the function can be:

    • Synchronous

      export function deactivate(): void;
    • Asynchronous

      export async function deactivate(): Promise<void>;

Verification

  • The extension compiles and produces the output in the dist folder.

  • All runtime dependencies are inside the final binary.

Additional resources

  • Consider a packer such as Rollup or Webpack to shrink the size of the artifact.

Next steps

- + \ No newline at end of file diff --git a/docs/extensions/write/when-clause-context.html b/docs/extensions/write/when-clause-context.html index 94c73b95714..685632a6795 100644 --- a/docs/extensions/write/when-clause-context.html +++ b/docs/extensions/write/when-clause-context.html @@ -13,13 +13,13 @@ - +

When clause contexts

Podman Desktop uses when clauses to enable or disable extensions command and UI customizations, such as views.

For example, the Kind extension adds a custom icon to a container that has a label equals to io.x-k8s.kind.cluster by using the following instruction.

"views": {
"icons/containersList": [
{
"when": "io.x-k8s.kind.cluster in containerLabelKeys",
"icon": "${kind-icon}"
}
]
}

A when clause can consist of a context key (such as isLinux) or complex expressions to define a specific state.

Available context keys

Podman Desktop has a set of context keys that are evaluated to Boolean true/false.

Context keyTrue when
Operating system contexts
isLinuxTrue when the OS is Linux.
isWindowsTrue when the OS is Windows.
isMacTrue when the OS is macOS.

Podman Desktop also provides context keys that return values that can be used to create meaningful expressions

Context keyValue in it
containerLabelKeysA list of all labels belonging to the current container. Example: "value in containerLabelKeys"
selectedImageIdThe image id which the dashboard/image menu opened belong to. Example "selectedImageId in imagesPushInProgressToKind"

Add a custom when clause context

If you are creating your own extension and none of the existing keys suit your needs, you can set your own context key by calling the function setValue(key: string, value: any, scope?: 'onboarding') provided by the context namespace in the Podman Desktop API.

The scope, if specified, triggers a custom behavior to avoid any type of collisions between different extensions for that specific scope. Podman Desktop is responsible for handling its state and cleans it accordingly when necessary.

If omitted, the key/value is set globally. For this reason it is recommended to use the extension id as part of the key to avoid unexpected collisions with other extensions.

The first example below sets the key "podmanIsInstalled" to true globally while the second example sets the key "toolInstalled" to oc.exe using the onboarding scope.

   extensionsAPI.context.setValue('podmanIsInstalled', true);

extensionsAPI.context.setValue('toolInstalled', 'oc.exe', 'onboarding');

After setting the toolInstalled to oc.exe, you could use this information in the when clause to enable something

{
"when": "onboardingContext:toolInstalled == oc.exe"
}

Conditional operators

To create when clauses a bit more complex Podman Desktop offers a set of operators that can be combined with each other.

Logical operators

Logical operators allow combining simple context keys or when-clause expressions that include other operators

OperatorSymbolExample
Not!!podmanIsInstalled or !(podmanIsInstalled && isWindows)
And&&podmanIsInstalled && isWindows
Or\|\|isLinux \|\| isWindows

Equality operators

Equality operators allow checking for equality of a context key's value against a specified value.

Note: the right side is a value and not considered as a context key, so no value is searched in the context. If it contains whitespaces, it must be wrapped in single-quotes (for example 'my tool.exe')

OperatorSymbolExample
Equality==onboardingContext:toolInstalled == oc.exe
Inequality!=onboardingContext:toolInstalled != oc.exe

Comparison operators

Comparison operator allow comparing a context key's value against a number.

Note: the left and right side of the operator must be separated by whitespace - bar < 2, but not bar<2

OperatorSymbolExample
Greater than>, >=onboardingContext:toolInstalled > 2
Less than<, <=onboardingContext:toolInstalled <= 3

In and not in

The in/not in operators allow checking if a value exists/not exists within the other. The right should be a context key, which value is retrieved in the context. The left can be a value or a context key.

OperatorSymbolExample
Ininlabel in containerLabelKeys
Notnot inlabel not in containerLabelKeys

Match operator

The match operator allow treating the right side item as a regular expression literal to match against the left side.

OperatorSymbolExample
Matches=~label =~ /podman$/
- + \ No newline at end of file diff --git a/docs/installation.html b/docs/installation.html index c5434231af8..d6325d16a6f 100644 --- a/docs/installation.html +++ b/docs/installation.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/installation/linux-install.html b/docs/installation/linux-install.html index 2a8f4c6c8d4..9eb5336ba25 100644 --- a/docs/installation/linux-install.html +++ b/docs/installation/linux-install.html @@ -13,13 +13,13 @@ - +

Installing Podman Desktop on Linux

Consider installing the Podman Desktop from Flathub to have:

  • One command installation
  • Package updates

Alternatively, you can install Podman Desktop from:

Prerequisites

Procedure

  1. Verify the Flathub repository is enabled, and add it if required:

    $ flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo
  2. Install Podman Desktop from Flathub:

    $ flatpak install --user flathub io.podman_desktop.PodmanDesktop

Verification

  • Open Podman Desktop from a terminal:

    $ flatpak run io.podman_desktop.PodmanDesktop

Update

  • Update Podman Desktop from Flathub:

    $ flatpak update --user io.podman_desktop.PodmanDesktop

Additional resources

Next steps

- + \ No newline at end of file diff --git a/docs/installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file.html b/docs/installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file.html index 53121fd7261..22e417a4370 100644 --- a/docs/installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file.html +++ b/docs/installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file.html @@ -13,14 +13,14 @@ - +

Installing Podman Desktop from a compressed tar file

Consider installing from an archive rather than from Flathub, or from a Flatpak bundle when:

  • You cannot use Flatpak.
  • You install in a restricted environment.

Prerequisites

Procedure

  1. Download the podman-desktop-<version>.tar.gz archive from the Git repository release assets.
  2. Extract the content.
  3. Go to the extracted directory.
  4. Double-click on the podman-desktop executable file.

Next steps

- + \ No newline at end of file diff --git a/docs/installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle.html b/docs/installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle.html index ca9f160a930..7329f593e30 100644 --- a/docs/installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle.html +++ b/docs/installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle.html @@ -13,13 +13,13 @@ - +

Installing Podman Desktop from a Flatpak bundle

Consider installing a Flatpak bundle rather than from Flathub when:

  • You cannot use Flathub.
  • You want to install an unreleased version.

Prerequisites

Procedure

  1. Download the Flatpak bundle to a $HOME/Downloads/podman-desktop-<version>.flatpak file from:

  2. Install Podman Desktop from the downloaded Flatpak bundle:

    $ flatpak install --user $HOME/Downloads/podman-desktop-<version>.flatpak

Verification

  • Open Podman Desktop from a terminal:

    $ flatpak run io.podman_desktop.PodmanDesktop

Additional resources

Next steps

- + \ No newline at end of file diff --git a/docs/installation/macos-install.html b/docs/installation/macos-install.html index d25ae699efc..4c167924891 100644 --- a/docs/installation/macos-install.html +++ b/docs/installation/macos-install.html @@ -13,14 +13,14 @@ - +

MacOS

This page contains information regarding installation of Podman Desktop on MacOS.

You can install Podman Desktop on Mac:

  1. Using the .dmg file
  2. Using Brew
Prerequisite

Podman Desktop requires Podman Engine. If you don't have Podman Engine installed, Podman Desktop will prompt you to do so at a later stage.

Installing Podman Desktop on MacOS using .dmg file

  1. Download the .dmg file from the Downloads section of this website.

    While we recommend getting the "universal" binary file which will work irrespective of the chip architecture your Mac possesses, you also have the option to get the applicable .dmg file depending on your Mac Hardware Architecture (that is Intel or Apple M1).

  2. Locate the downloaded file, and double-click on it. (Usually, you will find the downloaded file in the Downloads folder)

    img0

  3. Drag Podman Desktop icon to the Applications folder.

    img1

  4. Start Podman Desktop from the 'Launchpad' or Mac's Applications directory.

    img2

  5. Install Podman from Podman Desktop, if not yet installed.

    When you open Podman Desktop for the first time, click on the "View detection checks" button to scan if all the prerequisites to use Podman Desktop are met. If it says ❌ podman cli was not found in the PATH, then you need to install the Podman CLI/Engine which can be done within the application.

    img3

  6. Click on the "Install" button next to the "View detection checks" button, and follow the instructions on screen.

  7. You will be redirected to the Podman Installer. Follow the instructions on screen and enter your system password when asked.

    img4

  8. After the installation is complete, close the installation program. Podman Engine has been installed and you are now ready to use Podman Desktop.

Installing Podman Desktop on MacOS using brew

Prerequisite

Installation steps

  1. Open a terminal on your Mac.

  2. Run the command mentioned below.

    brew install podman-desktop

    Brew will also install the Podman Engine along with the Podman Desktop application, in case you don't have it installed yet.

    After the command is executed, you can find the Podman Desktop Application within the Applications directory of the MacOS.

Getting Started

Learn more on how to get started with Podman Desktop by clicking here.

- + \ No newline at end of file diff --git a/docs/installation/windows-install.html b/docs/installation/windows-install.html index 6ab0de6ffff..c69a37458c9 100644 --- a/docs/installation/windows-install.html +++ b/docs/installation/windows-install.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment.html b/docs/installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment.html index 64558fefb86..5187f7a18e1 100644 --- a/docs/installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment.html +++ b/docs/installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment.html @@ -13,13 +13,13 @@ - +

Installing Podman Desktop and Podman in a restricted environment

Consider using the Windows installer for restricted environments to install the Podman Desktop and Podman in a restricted environment.

The Windows installer for restricted environments:

  • Has all artifacts required to install Podman Desktop and Podman.
  • Does not require Internet access to download resources during installation.
  • Does not contain additional utilities such as Compose or Kind.

Prerequisites

Procedure

  1. Download the Windows installer for restricted environments, and copy the downloaded file to the Windows host in a restricted environment.
  2. Run the Windows installer for restricted environments to install Podman Desktop.
  3. Open Podman Desktop and click the Install button to install Podman.
  4. (Optionally) Configure Podman Desktop to run behind your proxy.
  5. (Optionally) Configure Podman to run behind your VPN.
  6. Create and start a Podman machine

Next steps

- + \ No newline at end of file diff --git a/docs/installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer.html b/docs/installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer.html index 9cfd45acb0b..df92bee3770 100644 --- a/docs/installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer.html +++ b/docs/installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/installation/windows-install/installing-podman-desktop-with-chocolatey.html b/docs/installation/windows-install/installing-podman-desktop-with-chocolatey.html index 77ba3d8975e..b54686d256f 100644 --- a/docs/installation/windows-install/installing-podman-desktop-with-chocolatey.html +++ b/docs/installation/windows-install/installing-podman-desktop-with-chocolatey.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/installation/windows-install/installing-podman-desktop-with-scoop.html b/docs/installation/windows-install/installing-podman-desktop-with-scoop.html index 07ef86b862d..350c76ae409 100644 --- a/docs/installation/windows-install/installing-podman-desktop-with-scoop.html +++ b/docs/installation/windows-install/installing-podman-desktop-with-scoop.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/installation/windows-install/installing-podman-desktop-with-winget.html b/docs/installation/windows-install/installing-podman-desktop-with-winget.html index 3422b9ca6cb..074aaca0e51 100644 --- a/docs/installation/windows-install/installing-podman-desktop-with-winget.html +++ b/docs/installation/windows-install/installing-podman-desktop-with-winget.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/intro.html b/docs/intro.html index 28193ddde22..2c8b77c647a 100644 --- a/docs/intro.html +++ b/docs/intro.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/kind.html b/docs/kind.html index 624985d1d5d..ffed912a7bb 100644 --- a/docs/kind.html +++ b/docs/kind.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/kind/building-an-image-and-testing-it-in-kind.html b/docs/kind/building-an-image-and-testing-it-in-kind.html index c4c53cf4449..e29b7a456dd 100644 --- a/docs/kind/building-an-image-and-testing-it-in-kind.html +++ b/docs/kind/building-an-image-and-testing-it-in-kind.html @@ -13,13 +13,13 @@ - +

Building an image and testing it in Kind

With Podman Desktop, you can build an image with your container engine, and test it in your local Kind-powered Kubernetes cluster.

Prerequisites

Procedure

  1. Build your image:

    1. Open Images > Build an image.
    2. Containerfile path: select your Containerfile or Dockerfile.
    3. Build context directory: optionally, select a directory different from the directory containing your Containerfile or Dockerfile.
    4. Image Name: enter your image name my-custom-image.
    5. Click Build.
    6. Wait for the image build to finish.
    7. Click Done to get back to the images list.
  2. Push your image to your Kind cluster:

    1. Search images: enter your image name my-custom-image to find the image.
    2. Click > Push image to Kind cluster.
  3. Test your image by creating a container:

    1. Click to open the Create a container from image dialog.
    2. Container name: enter my-custom-image-container.
    3. Review the parameters that Podman Desktop has detected from your image definition.
    4. Click Start Container to start the container in your container engine.
  4. Test your image and container on your Kind cluster:

    1. Search containers: enter my-custom-image-container to find the running container.
    2. Click > Deploy to Kubernetes to open the Deploy generated pod to Kubernetes screen.
    3. Pod Name: keep the proposed value my-custom-image-container-pod.
    4. Use Kubernetes Services: select Replace hostPort exposure on containers by Services. It is the recommended way to expose ports, as a cluster policy might prevent to use hostPort.
    5. Expose service locally using Kubernetes Ingress: if your container is exposing at a port, select Create a Kubernetes ingress to get access to the ports that this pod exposes, at the default ingress controller location. Example: on a default Kind cluster created with Podman Desktop: http://localhost:9090. Requirements: your cluster has an ingress controller`.
    6. Optionally, if your container is exposing more than one port, select the port to expose.
    7. Kubernetes namespaces: select default.
    8. Click Deploy.
    9. Wait for the pod to reach the state: Phase: Running.
    10. Click Done.

Verification

  1. The Pods screen lists the running my-image-container-pod pod.
  2. Click on the pod name to view details and logs.
  3. Optionally, if your container is exposing a port, go to http://localhost:9090: your application is running.
- + \ No newline at end of file diff --git a/docs/kind/configuring-podman-for-kind-on-windows.html b/docs/kind/configuring-podman-for-kind-on-windows.html index 47d766a328f..d33f1847879 100644 --- a/docs/kind/configuring-podman-for-kind-on-windows.html +++ b/docs/kind/configuring-podman-for-kind-on-windows.html @@ -13,13 +13,13 @@ - +

Configuring Podman for Kind on Windows Subsystem for Linux (WSL)

When you create a Podman machine, Podman creates the machine in rootless mode.

With a Podman machine running on WSL, Kind:

  • Requires the rootful machine.

Therefore, set the Podman machine to rootful mode.

Procedure

  1. Stop the Podman machine:

    $ podman machine stop
  2. Set the Podman machine in rootful mode:

    $ podman machine set --rootful
  3. Start the Podman machine:

    $ podman machine start
- + \ No newline at end of file diff --git a/docs/kind/creating-a-kind-cluster.html b/docs/kind/creating-a-kind-cluster.html index 41422803025..d0d05fd0e1d 100644 --- a/docs/kind/creating-a-kind-cluster.html +++ b/docs/kind/creating-a-kind-cluster.html @@ -13,13 +13,13 @@ - +

Creating a local Kind-powered Kubernetes cluster

You can create multiple local Kind-powered Kubernetes clusters.

Prerequisites

Procedure

  1. Go to Settings > Resources

  2. In the Kind tile, click on the Create new ... button.

  3. Choose your options, and click the Create button.

    The defaults are:

    • Name: kind-cluster
    • Provider Type: podman
    • HTTP Port: 9090
    • HTTPS Port: 9443
    • Setup an ingress controller (Contour https://projectcontour.io): Enabled
    • Node’s container image (Available image tags on kind/releases): Left empty to use latest.
  4. (Optionally) Click the Show logs button to display the logs.

  5. After successful creation, click on the Go back to resources button

Verification

  1. In Settings > Resources, in the Kind tile, your <kind-cluster> instance is running.
  2. In the Podman Desktop tray, open the Kubernetes menu, you can set the context to your Kind cluster: kind-<kind-cluster>.
- + \ No newline at end of file diff --git a/docs/kind/deleting-your-kind-cluster.html b/docs/kind/deleting-your-kind-cluster.html index 9792c42365e..ff2944c890f 100644 --- a/docs/kind/deleting-your-kind-cluster.html +++ b/docs/kind/deleting-your-kind-cluster.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/kind/installing.html b/docs/kind/installing.html index 452280bed66..824d9a2bf1c 100644 --- a/docs/kind/installing.html +++ b/docs/kind/installing.html @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@ - + \ No newline at end of file diff --git a/docs/kind/pushing-an-image-to-kind.html b/docs/kind/pushing-an-image-to-kind.html index c572408183e..df6712e01ef 100644 --- a/docs/kind/pushing-an-image-to-kind.html +++ b/docs/kind/pushing-an-image-to-kind.html @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@

Pushing an image to your local Kind-powered Kubernetes cluster

With Podman Desktop, you can push an image to your local Kind-powered Kubernetes cluster.

Prerequisites

Procedure

  1. Open Podman Desktop dashboard > Images.
  2. Search images: <your_image>:<your_tag>.
  3. Click > Push image to Kind cluster.
  4. If you created many Kind clusters, select your Kind cluster from the list.

Verification

Kind does not enable you to list loaded images. Therefore, create a Pod that uses the loaded image.

  1. Create a verify_my_image.yaml Kubernetes YAML file on your workstation. Replace the placeholders:

    • Pod name and container name value must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character.
    • Container image value is the image you pushed.
    apiVersion: v1
    kind: Pod
    metadata:
    name: <verify-my-image>
    spec:
    containers:
    - name: <my-image>
    image: <my_image>:<my_tag>
    imagePullPolicy: Never
  2. Open Pods > Play Kubernetes YAML.

    1. Kubernetes YAML file: select your verify_my_image.yaml file.
    2. Select Runtime: Using a Kubernetes cluster.
    3. Click Play.
    4. Clik Done
  3. Open Pods.

  4. Search pods: <verify-my-image>.

  5. The pod Status is Running.

- + \ No newline at end of file diff --git a/docs/kind/restarting-your-kind-cluster.html b/docs/kind/restarting-your-kind-cluster.html index 92aa3e71eac..44c30302a51 100644 --- a/docs/kind/restarting-your-kind-cluster.html +++ b/docs/kind/restarting-your-kind-cluster.html @@ -13,7 +13,7 @@ - + @@ -22,7 +22,7 @@ Therefore, Podman Desktop stops the Kind cluster, starts it again, and hopes for the best. The Kind cluster might not restart successfully. In that case:

- + \ No newline at end of file diff --git a/docs/kind/working-with-your-local-kind-cluster.html b/docs/kind/working-with-your-local-kind-cluster.html index 190cf8e4621..709a7ef1375 100644 --- a/docs/kind/working-with-your-local-kind-cluster.html +++ b/docs/kind/working-with-your-local-kind-cluster.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/kubernetes.html b/docs/kubernetes.html index 3313fd907fe..218114852bf 100644 --- a/docs/kubernetes.html +++ b/docs/kubernetes.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/kubernetes/deploying-a-container-to-kubernetes.html b/docs/kubernetes/deploying-a-container-to-kubernetes.html index 97f804126cf..e65fa086962 100644 --- a/docs/kubernetes/deploying-a-container-to-kubernetes.html +++ b/docs/kubernetes/deploying-a-container-to-kubernetes.html @@ -13,13 +13,13 @@ - +

Deploying a container to Kubernetes

With Podman Desktop, you can deploy a container to your Kubernetes cluster.

Prerequisites

  • Your are using the Podman container engine.
  • Your container, running or stopped, is available on the Containers page: <your_container>.
  • You registered the Kubernetes cluster in your kubeconfig file: <your_kubernetes_cluster>. For example, Creating a kind cluster.
  • The Kubernetes namespace to deploy to already exists.

Procedure

  1. Click Podman Desktop tray > Kubernetes > Context > <your_kubernetes_cluster> to set your Kubernetes context.
  2. Open Podman Desktop dashboard > Containers > <your_container> to see the Container Details page.
  3. Click to generate a Kubernetes pod.
  4. On the Deploy generated pod to Kubernetes screen, choose your options:
    1. Pod Name: edit the proposed name.
    2. Use Kubernetes Services: enable or disable Replace hostPort exposure on containers by Services. It is the recommended way to expose ports, as a cluster policy might prevent to use hostPort.
    3. Kubernetes namespace: select in the list the namespace to deploy the pod to.
  5. Click the Deploy button.

Verification

  • On the Deploy generated pod to Kubernetes screen, the created pod status is Phase: Running

    Deploying a container

  • Go to Containers: your pod is in the list.

- + \ No newline at end of file diff --git a/docs/kubernetes/deploying-a-pod-to-kubernetes.html b/docs/kubernetes/deploying-a-pod-to-kubernetes.html index ddd5ed8e51b..6afd4539a2d 100644 --- a/docs/kubernetes/deploying-a-pod-to-kubernetes.html +++ b/docs/kubernetes/deploying-a-pod-to-kubernetes.html @@ -13,13 +13,13 @@ - +

Deploying a pod to Kubernetes

With Podman Desktop, you can deploy a pod to your Kubernetes cluster.

Prerequisites

  • Your are using the Podman container engine.
  • Your pod, running or stopped, is available on the Pods page: <your_pod>.
  • You registered the Kubernetes cluster in your kubeconfig file: <your_kubernetes_cluster>. For example, Creating a kind cluster.
  • The Kubernetes namespace to deploy to already exists.

Procedure

  1. Click Podman Desktop tray > Kubernetes > Context > <your_kubernetes_cluster> to set your Kubernetes context.
  2. Open Podman Desktop dashboard > Pods > <your_pod> to see the Pod Details page.
  3. Click to generate a Kubernetes pod.
  4. On the Deploy generated pod to Kubernetes screen, choose your options:
    1. Pod Name: edit the proposed name.
    2. Use Kubernetes Services: enable or disable Replace hostPort exposure on containers by Services. It is the recommended way to expose ports, as a cluster policy might prevent to use hostPort.
    3. Kubernetes namespace: select in the list the namespace to deploy the pod to.
  5. Click the Deploy button.

Verification

  • On the Deploy generated pod to Kubernetes screen, the created pod status is Phase: Running

    Deploying a pod

  • Go to Pods: your pod is in the list.

- + \ No newline at end of file diff --git a/docs/kubernetes/existing-kubernetes.html b/docs/kubernetes/existing-kubernetes.html index eced959ad54..4794afbf02d 100644 --- a/docs/kubernetes/existing-kubernetes.html +++ b/docs/kubernetes/existing-kubernetes.html @@ -13,13 +13,13 @@ - +

Configuring access to a Kubernetes cluster

Podman Desktop configures the access to Kubernetes clusters automatically when:

You can also use the Kubernetes CLI to configure access to your Kubernetes cluster:

Prerequisites

  • You have credentials for your Kubernetes cluster.

Procedure

  1. (Optionally) Go to Settings > Preferences > Path to the kubeconfig file to adapt your kubeconfig file location, when different from the default $HOME/.kube/config.

  2. Register your <my_kubernetes> Kubernetes cluster:

    $ kubectl config set-cluster <my_kubernetes> --server=<my_kubernetes_url>

Verification

Additional resopurces

- + \ No newline at end of file diff --git a/docs/kubernetes/kind/pushing-an-image-to-kind.html b/docs/kubernetes/kind/pushing-an-image-to-kind.html index a45bac7f2c6..3ae0ac83c1e 100644 --- a/docs/kubernetes/kind/pushing-an-image-to-kind.html +++ b/docs/kubernetes/kind/pushing-an-image-to-kind.html @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@

Pushing an image to your local Kind-powered Kubernetes cluster

With Podman Desktop, you can push an image to your local Kind-powered Kubernetes cluster.

Prerequisites

Procedure

  1. Open Podman Desktop dashboard > Images.
  2. Search images: <your_image>:<your_tag>.
  3. Click > Push image to Kind cluster.
  4. If you created many Kind clusters, select your Kind cluster from the list.

Verification

Kind does not enable you to list loaded images. Therefore, create a Pod that uses the loaded image.

  1. Create a verify_my_image.yaml Kubernetes YAML file on your workstation. Replace the placeholders:

    • Pod name and container name value must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character.
    • Container image value is the image you pushed.
    apiVersion: v1
    kind: Pod
    metadata:
    name: <verify-my-image>
    spec:
    containers:
    - name: <my-image>
    image: <my_image>:<my_tag>
    imagePullPolicy: Never
  2. Open Pods > Play Kubernetes YAML.

    1. Kubernetes YAML file: select your verify_my_image.yaml file.
    2. Select Runtime: Using a Kubernetes cluster.
    3. Click Play.
    4. Click Done
  3. Open Pods.

  4. Search pods: <verify-my-image>.

  5. The pod Status is Running.

- + \ No newline at end of file diff --git a/docs/kubernetes/viewing-and-selecting-current-kubernete-context-in-the-status-bar.html b/docs/kubernetes/viewing-and-selecting-current-kubernete-context-in-the-status-bar.html index 9ac1e25db01..d729becf9ae 100644 --- a/docs/kubernetes/viewing-and-selecting-current-kubernete-context-in-the-status-bar.html +++ b/docs/kubernetes/viewing-and-selecting-current-kubernete-context-in-the-status-bar.html @@ -13,14 +13,14 @@ - +

Viewing and selecting the current Kubernetes context

With Podman Desktop, you can view and select your current Kubernetes context in the status bar.

Prerequisites

  • You have a Kubernetes context in your kubeconfig file: <your_kubernetes_cluster>. For example, Creating a kind cluster.

Procedure

  1. To view your current Kubernetes context, in the Podman Desktop main window status bar, see the name next to the icon.

  2. (Optionally) To change your Kubernetes context:

    1. Click .
    2. In the drop-down menu, click the context name to activate.
- + \ No newline at end of file diff --git a/docs/kubernetes/viewing-and-selecting-current-kubernete-context.html b/docs/kubernetes/viewing-and-selecting-current-kubernete-context.html index 2b26dfe7586..073067f0929 100644 --- a/docs/kubernetes/viewing-and-selecting-current-kubernete-context.html +++ b/docs/kubernetes/viewing-and-selecting-current-kubernete-context.html @@ -13,14 +13,14 @@ - +

Viewing and selecting the current Kubernetes context

With Podman Desktop, you can view and select your current Kubernetes context.

Prerequisites

  • You have a Kubernetes context in your kubeconfig file: <your_kubernetes_cluster>. For example, Creating a kind cluster.

Procedure

  1. Open the Podman Desktop tray menu.

    In the task bar, click Show hidden icons.

    Podman Desktop tray

    Right-click the Podman Desktop tray icon to open the menu.

    Podman Desktop tray

  2. Click Kubernetes to see your current Kubernetes context.

    Podman Desktop tray

  3. (Optionally) To change your Kubernetes context, click on the context name to activate.

- + \ No newline at end of file diff --git a/docs/lima.html b/docs/lima.html index 1d25997909a..0f07647af80 100644 --- a/docs/lima.html +++ b/docs/lima.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/lima/creating-a-kubernetes-instance.html b/docs/lima/creating-a-kubernetes-instance.html index 7c2566f7f92..df9ab5cee9f 100644 --- a/docs/lima/creating-a-kubernetes-instance.html +++ b/docs/lima/creating-a-kubernetes-instance.html @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@

Creating a Lima instance for Kubernetes workloads with Podman Desktop

To use the Lima provider you need a Lima instance running a Linux virtual machine.

In the future, Podman Desktop might be able to create Lima instances.

Consider creating a custom Lima instance to:

  • Control the assigned resources: CPUs, memory, and disk size.
  • Control which Kubernetes distribution (template) to install.

Prerequisites

  1. Install the lima CLI.

Procedure

  1. In a terminal, create the Lima instance.

    • To create a single-node Kubernetes cluster running k3s:

      $ limactl start template://k3s
    • To create a single-node Kubernetes cluster running k8s:

      $ limactl start template://k8s
    • To select the number of CPUs, the memory, and the disk size, add the options to the limactl start command:

      --cpus=4 --memory=4 --disk=100
  2. Wait for the instance to start, and restart the Lima extension.

    • Go to Settings > Preferences > Extension: Lima, to change the instance name and type.

      • k3s

        • Type: kubernetes
        • Name: k3s Lima preferences k3s
      • k8s

        • Type: kubernetes
        • Name: k8s Lima preferences k8s
    • Go to Settings > Extensions > Lima, to disable and enable the extension after changes.

Verification

  1. When the installation is done, the location of the KUBECONFIG file is printed. See Configuring access to a Kubernetes cluster.

    • Go to Settings > Preferences > Path to the kubeconfig file, to set the path of the file.
  2. Use the kubectl.lima wrapper script to connect to the cluster:

    $ kubectl.lima version
- + \ No newline at end of file diff --git a/docs/lima/creating-a-lima-instance.html b/docs/lima/creating-a-lima-instance.html index 6394e102b71..7b27b53d3d5 100644 --- a/docs/lima/creating-a-lima-instance.html +++ b/docs/lima/creating-a-lima-instance.html @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@

Creating a Lima instance for container workloads with Podman Desktop

To use the Lima provider you need a Lima instance running a Linux virtual machine.

In the future, Podman Desktop might be able to create Lima instances.

Consider creating a custom Lima instance to:

  • Control the assigned resources: CPUs, memory, and disk size.
  • Use the rootful connection by default, for example to run Kind.

Prerequisites

  1. Install the lima CLI.

Procedure

  1. In a terminal, create the Lima instance.

    • To create a Lima instance with rootless Podman, use the podman template:

      $ limactl start --name=podman template://podman
    • To create a Lima instance with rootful Podman, use the podman-rootful template:

      $ limactl start --name=podman template://podman-rootful
    • To create an Lima instance with rootless Docker, use the docker template:

      $ limactl start --name=docker template://docker
    • To create an Lima instance with rootful Docker, use the docker-rootful template:

      $ limactl start --name=docker template://docker-rootful
    • To select the number of CPUs, the memory, and the disk size, add the options to the limactl start command:

      --cpus=2 --memory=2 --disk=50
  2. Wait for the instance to start, and restart the Lima extension.

    • Go to Settings > Preferences > Extension: Lima, to change the instance name and type.

      • Podman (default)

        • Type: podman
        • Name: podman Lima preferences Podman
      • Docker

        • Type: docker
        • Name: docker Lima preferences Docker
    • Go to Settings > Extensions > Lima, to disable and enable the extension after changes.

Verification

  • To verify the connection to a running "podman" instance:

    $ podman.lima version
  • To verify the connection to a running "docker" instance:

    $ docker.lima version
- + \ No newline at end of file diff --git a/docs/lima/customizing.html b/docs/lima/customizing.html index 608193cb0de..a5fd6d8875a 100644 --- a/docs/lima/customizing.html +++ b/docs/lima/customizing.html @@ -13,7 +13,7 @@ - + @@ -23,7 +23,7 @@ or you can install Dir.

  • /var/run/docker.sock
  • /run/podman/podman.sock
export DOCKER_HOST="unix://{{.Dir}}/sock/docker.sock"

Kubernetes

You can install Kubernetes, on top of the existing container engine.

For instance you can use CRI-O for Podman, or CRI-Dockerd for Docker. After that you can copy the kubeconfig.yaml file, to the host Dir.

  • /etc/rancher/k3s/k3s.yaml
  • /etc/kubernetes/admin.conf
export KUBECONFIG="{{.Dir}}/copied-from-guest/kubeconfig.yaml"
- + \ No newline at end of file diff --git a/docs/lima/installing.html b/docs/lima/installing.html index 0512ccb88dd..7ec88aeea06 100644 --- a/docs/lima/installing.html +++ b/docs/lima/installing.html @@ -13,14 +13,14 @@ - + - + \ No newline at end of file diff --git a/docs/migrating-from-docker.html b/docs/migrating-from-docker.html index f317189e90c..b407a783197 100644 --- a/docs/migrating-from-docker.html +++ b/docs/migrating-from-docker.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/migrating-from-docker/emulating-docker-cli-with-podman.html b/docs/migrating-from-docker/emulating-docker-cli-with-podman.html index b6584acc6e9..79edf9968f7 100644 --- a/docs/migrating-from-docker/emulating-docker-cli-with-podman.html +++ b/docs/migrating-from-docker/emulating-docker-cli-with-podman.html @@ -13,14 +13,14 @@ - +

Emulating Docker CLI with Podman

Consider emulating Docker CLI with Podman to migrate transparently to Podman.

  • Continue using familiar Docker commands.
  • Take advantage of the benefits of Podman on macOS.
  • Your tools, such as Maven or Testcontainers, communicate with Podman without reconfiguration.

Prerequisites

  • Podman

Procedure

  1. Create a /usr/local/bin/docker script:

    #!/usr/bin/sh
    [ -e /etc/containers/nodocker ] || \
    echo "Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg." >&2
    exec podman "$@"
  2. (Optional) Create an empty /etc/containers/nodocker file to avoid the Emulate Docker CLI using podman. message when running the script.

    # touch /etc/containers/nodocker
  3. Make the script executable:

    # chmod +x /usr/local/bin/docker

Verification

  • Use the docker script to run commands. Example:

    $ docker run -it docker.io/hello-world
- + \ No newline at end of file diff --git a/docs/migrating-from-docker/importing-saved-containers.html b/docs/migrating-from-docker/importing-saved-containers.html index a7ae3dfd1f8..c1669bf5f27 100644 --- a/docs/migrating-from-docker/importing-saved-containers.html +++ b/docs/migrating-from-docker/importing-saved-containers.html @@ -13,14 +13,14 @@ - +

Importing saved containers to Podman

Consider importing saved containers to continue using familiar containers.

Prerequisites

  • Podman

  • You saved your existing containers by running the command:

    $ podman save <your_container> > <your_container_archive>.tar

Procedure

  • Import your existing containers into Podman. Run the command for each container archive:

    $ podman import <your_container_archive>.tar

Verification

  • Your imported containers appear in the Podman Desktop Images section.

Additional resources

- + \ No newline at end of file diff --git a/docs/migrating-from-docker/using-podman-mac-helper.html b/docs/migrating-from-docker/using-podman-mac-helper.html index 469d8fc29ad..2ccf2846cda 100644 --- a/docs/migrating-from-docker/using-podman-mac-helper.html +++ b/docs/migrating-from-docker/using-podman-mac-helper.html @@ -13,14 +13,14 @@ - +

Using the podman-mac-helper tool to migrate from Docker to Podman on macOS

Consider using podman-mac-help to migrate transparently to Podman on macOS.

  • Continue using familiar Docker commands.
  • Take advantage of the benefits of Podman on macOS.
  • Your tools, such as Maven or Testcontainers, communicate with Podman without reconfiguration.

The podman-mac-helper tool provides a compatibility layer that allows you to use most Docker commands with Podman on macOS. The service redirects /var/run/docker to the fixed user-assigned UNIX socket location.

Prerequisites

Procedure

  1. Set up the podman-mac-helper service: run the command in a terminal:

    sudo podman-mac-helper install
  2. Restart your Podman machine: go to Settings > Resources, and in the Podman tile, click .

Verification

  1. The Docker socket is a symbolic link for the Podman socket:

    $ ls -la /var/run/docker.sock

    The output points to a podman.sock file such as:

    /var/run/docker.sock -> /Users/username/.local/share/containers/podman/machine/podman.sock
  2. When you query the Docker socket, you receive replies from Podman rather than Docker.

    For instance, this command outputs Podman version rather that Docker version:

    $ curl -s --unix-socket /var/run/docker.sock "http://v1.41/info"  | jq -r .ServerVersion
  3. Your tools communicating to the Docker socket, such as Maven or Testcontainers, communicate with Podman without reconfiguration.

  4. (Optionally, if the docker CLI is installed) The docker CLI context is set to the default value unix:///var/run/docker.sock:

    $ docker context list
    NAME TYPE DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
    default * moby Current DOCKER_HOST based configuration unix:///var/run/docker.sock
  5. (Optionally, if the docker CLI is installed) The docker CLI communicates with the Podman socket.

    Therefore this command outputs Podman version rather that Docker version:

    $ docker info --format=json | jq -r .ServerVersion

Additional resources

- + \ No newline at end of file diff --git a/docs/migrating-from-docker/using-the-docker_host-environment-variable.html b/docs/migrating-from-docker/using-the-docker_host-environment-variable.html index 730b68c7500..7eec9a52be1 100644 --- a/docs/migrating-from-docker/using-the-docker_host-environment-variable.html +++ b/docs/migrating-from-docker/using-the-docker_host-environment-variable.html @@ -13,13 +13,13 @@ - +

Using the DOCKER_HOST environment variable

Consider using the DOCKER_HOST environment variable to migrate transparently from Docker to Podman Desktop on all platforms.

  • Continue using familiar Docker commands.
  • Take advantage of the benefits of Podman.
  • Your tools, such as Gradle or Testcontainers, communicate with Podman without reconfiguration.

Prerequisites

  • Podman

Procedure

  1. Identify the location of your Podman pipe
$ podman machine inspect --format '{{.ConnectionInfo.PodmanPipe.Path}}'
  1. Set the DOCKER_HOST environment variable to your Podman pipe location. You'll need to replace back slashes with forward slashes and add the npipe:// scheme to the path retrieved previously:

Example:

prefixpodman-pipe

npipe:////./pipe/podman-machine-default

Depending on your terminal emulator of preference there is a little variation between the commands to set a session level environment variable:

cmd - Command Prompt
set DOCKER_HOST=npipe://<inspect_command_output>
Git Bash
export DOCKER_HOST=npipe://<inspect_command_output>
Powershell

Don't miss the quotes on the value or powershell will try to interpret it as a separate command instead of a value.

$env:DOCKER_HOST="npipe://<inspect_command_output>"

Ideally you should set DOCKER_HOST at the system or user level environment variables (or even load it in your CL emulator init script of choice)

Note: Setting the DOCKER_HOST environment variable isn't necessary on Windows since Podman also listens to the default docker_engine pipe. But it may be necessary if you get the following error: Error: socket of machine is not set while trying to use the podman compose command.

Verification

  • Your tools using the DOCKER_HOST environment variable, such as Gradle or Testcontainers, communicate with Podman without reconfiguration.
- + \ No newline at end of file diff --git a/docs/migrating-from-docker/verifying-your-tools-are-using-podman.html b/docs/migrating-from-docker/verifying-your-tools-are-using-podman.html index 25ee52fb1a6..b2d2f1308c5 100644 --- a/docs/migrating-from-docker/verifying-your-tools-are-using-podman.html +++ b/docs/migrating-from-docker/verifying-your-tools-are-using-podman.html @@ -13,13 +13,13 @@ - +

Verifying that your tools are using Podman

When you have configured your host to use Podman rather then Docker, consider verifying your setup works as intended.

Prerequisites

Procedure

  1. The Docker socket replies successfully for listing all containers:

    $ curl --unix-socket npipe:////./pipe/docker_engine "http:/v1.41/containers/json?all=true"
  2. Podman commands run successfully when redirected to the Docker socket:

    $ CONTAINER_HOST=npipe:////./pipe/docker_engine podman ps
- + \ No newline at end of file diff --git a/docs/minikube.html b/docs/minikube.html index 550f745b0ca..891b38a7905 100644 --- a/docs/minikube.html +++ b/docs/minikube.html @@ -13,13 +13,13 @@ - +
- + \ No newline at end of file diff --git a/docs/minikube/building-an-image-and-testing-it-in-minikube.html b/docs/minikube/building-an-image-and-testing-it-in-minikube.html index 9affd95eb2c..9e396305847 100644 --- a/docs/minikube/building-an-image-and-testing-it-in-minikube.html +++ b/docs/minikube/building-an-image-and-testing-it-in-minikube.html @@ -13,13 +13,13 @@ - +

Building an image and testing it in Minikube

With Podman Desktop, you can build an image with your container engine, and test it in your local Minikube-powered Kubernetes cluster.

Prerequisites

Procedure

  1. Build your image:

    1. Open Images > Build an image.
    2. Containerfile path: select your Containerfile or Dockerfile.
    3. Build context directory: optionally, select a directory different from the directory containing your Containerfile or Dockerfile.
    4. Image Name: enter your image name my-custom-image.
    5. Click Build.
    6. Wait for the image build to finish.
    7. Click Done to get back to the images list.
  2. Push your image to your Minikube cluster:

    1. Search images: enter your image name my-custom-image to find the image.
    2. Click > Push image to Minikube cluster.
  3. Test your image by creating a container:

    1. Click to open the Create a container from image dialog.
    2. Container name: enter my-custom-image-container.
    3. Review the parameters that Podman Desktop has detected from your image definition.
    4. Click Start Container to start the container in your container engine.
  4. Test your image and container on your Minikube cluster:

    1. Search containers: enter my-custom-image-container to find the running container.
    2. Click > Deploy to Kubernetes to open the Deploy generated pod to Kubernetes screen.
    3. Pod Name: keep the proposed value my-custom-image-container-pod.
    4. Use Kubernetes Services: select Replace hostPort exposure on containers by Services. It is the recommended way to expose ports, as a cluster policy might prevent to use hostPort.
    5. Expose service locally using Kubernetes LoadBalancer: if your container is exposing a service, you can use minikube service to get a web browser or an URL to use.
    6. Optionally, if your container is exposing more than one port, select the port to expose.
    7. Kubernetes namespaces: select default.
    8. Click Deploy.
    9. Wait for the pod to reach the state: Phase: Running.
    10. Click Done.

Verification

  1. The Pods screen lists the running my-image-container-pod pod.
  2. Click on the pod name to view details and logs.
  3. Optionally, if your container is exposing a service, go to the server URL: your application is running.
- + \ No newline at end of file diff --git a/docs/minikube/configuring-podman-for-minikube-on-windows.html b/docs/minikube/configuring-podman-for-minikube-on-windows.html index eb74985a21c..440626b4087 100644 --- a/docs/minikube/configuring-podman-for-minikube-on-windows.html +++ b/docs/minikube/configuring-podman-for-minikube-on-windows.html @@ -13,13 +13,13 @@ - +

Configuring Podman for Minikube on Windows Subsystem for Linux (WSL)

When you create a Podman machine, Podman creates the machine in rootless mode.

With a Podman machine running on WSL, Minikube:

  • Requires a rootful machine.

Therefore, set the Podman machine to rootful mode.

Procedure

  1. Stop the Podman machine:

    $ podman machine stop
  2. Set the Podman machine in rooful mode:

    $ podman machine set --rootful
  3. Start the Podman machine:

    $ podman machine start
- + \ No newline at end of file diff --git a/docs/minikube/creating-a-minikube-cluster.html b/docs/minikube/creating-a-minikube-cluster.html index 4509253ccdc..e9bcb8238bb 100644 --- a/docs/minikube/creating-a-minikube-cluster.html +++ b/docs/minikube/creating-a-minikube-cluster.html @@ -13,13 +13,13 @@ - +

Creating a local Minikube-powered Kubernetes cluster

You can create multiple local Minikube-powered Kubernetes clusters.

Prerequisites

Procedure

  1. Go to Settings > Resources

  2. In the Minikube tile, click on the Create new ... button.

  3. Choose your options, and click the Create button.

    The defaults are:

    • Name: minikube
    • Driver: podman
    • Container runtime: cri-o
  4. (Optionally) Click the Show logs button to display the logs.

  5. After successful creation, click on the Go back to resources button

Verification

  1. In Settings > Resources, in the Minikube tile, your <minikube> instance is running.
  2. In the Podman Desktop tray, open the Kubernetes menu, you can set the context to your Minikube cluster: minikube.
- + \ No newline at end of file diff --git a/docs/minikube/deleting-your-minikube-cluster.html b/docs/minikube/deleting-your-minikube-cluster.html index 31418881d1d..2fdbbc15e25 100644 --- a/docs/minikube/deleting-your-minikube-cluster.html +++ b/docs/minikube/deleting-your-minikube-cluster.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/minikube/installing.html b/docs/minikube/installing.html index 920f094c86f..824e37bd35e 100644 --- a/docs/minikube/installing.html +++ b/docs/minikube/installing.html @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@ - + \ No newline at end of file diff --git a/docs/minikube/pushing-an-image-to-minikube.html b/docs/minikube/pushing-an-image-to-minikube.html index 49b533acdac..ff76db8383c 100644 --- a/docs/minikube/pushing-an-image-to-minikube.html +++ b/docs/minikube/pushing-an-image-to-minikube.html @@ -13,14 +13,14 @@ - +

Pushing an image to your local Minikube-powered Kubernetes cluster

With Podman Desktop, you can push an image to your local Minikube-powered Kubernetes cluster.

Prerequisites

Procedure

  1. Open Podman Desktop dashboard > Images.
  2. Search images: <your_image>:<your_tag>.
  3. Click > Push image to Minikube cluster.
  4. If you created many Minikube clusters, select your Minikube cluster from the list.

Verification

Minikube enables you to list loaded images, using:

$ minikube image list

You can also create a Pod that uses the loaded image:

  1. Create a verify_my_image.yaml Kubernetes YAML file on your workstation. Replace the placeholders:

    • Pod name and container name value must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character.
    • Container image value is the image you pushed.
    apiVersion: v1
    kind: Pod
    metadata:
    name: <verify-my-image>
    spec:
    containers:
    - name: <my-image>
    image: <my_image>:<my_tag>
    imagePullPolicy: Never
  2. Open Pods > Play Kubernetes YAML.

    1. Kubernetes YAML file: select your verify_my_image.yaml file.
    2. Select Runtime: Using a Kubernetes cluster.
    3. Click Play.
    4. Clik Done
  3. Open Pods.

  4. Search pods: <verify-my-image>.

  5. The pod Status is Running.

- + \ No newline at end of file diff --git a/docs/minikube/restarting-your-minikube-cluster.html b/docs/minikube/restarting-your-minikube-cluster.html index 71098cbffa1..efafd2d041d 100644 --- a/docs/minikube/restarting-your-minikube-cluster.html +++ b/docs/minikube/restarting-your-minikube-cluster.html @@ -13,7 +13,7 @@ - + @@ -22,7 +22,7 @@ Therefore, Podman Desktop stops the Minikube cluster, and starts it again. The Minikube cluster might not restart successfully. In that case:

- + \ No newline at end of file diff --git a/docs/minikube/working-with-your-local-minikube-cluster.html b/docs/minikube/working-with-your-local-minikube-cluster.html index 31c7e185183..bcacdd64e40 100644 --- a/docs/minikube/working-with-your-local-minikube-cluster.html +++ b/docs/minikube/working-with-your-local-minikube-cluster.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/openshift.html b/docs/openshift.html index 7f8e987b24e..d70194b2db2 100644 --- a/docs/openshift.html +++ b/docs/openshift.html @@ -13,13 +13,13 @@ - +

Red Hat OpenShift

OpenShift is a hybrid cloud platform built around Linux containers, orchestrated and managed by Kubernetes on a foundation of Red Hat Enterprise Linux.

You can try OpenShift online for free with the Developer Sandbox, or install it locally via OpenShift Local.

Next steps

  1. OpenShift Developer Sandbox.
  2. OpenShift Local.
- + \ No newline at end of file diff --git a/docs/openshift/developer-sandbox.html b/docs/openshift/developer-sandbox.html index c919ba7a0e3..74ba0c484e8 100644 --- a/docs/openshift/developer-sandbox.html +++ b/docs/openshift/developer-sandbox.html @@ -13,14 +13,14 @@ - +

Configuring access to a Developer Sandbox

The Developer Sandbox is a free, private OpenShift environment including one project and a resource quota of 14 GB RAM, and 40 GB storage. It lasts 30 days.

With Podman Desktop, you can configure access to your Developer Sandbox instances.

Prerequisites

Procedure

  1. Install the Developer Sandbox extension: go to Dashboard, and click Developer Sandbox .
  2. Go to Settings > Resources.
  3. In the Developer Sandbox tile, click Create new.
  4. In the Create a Developer Sandbox screen, click Log into Developer Sandbox.
  5. In the Open external website dialog, click Yes.
  6. In the Developer Sandbox website:
    1. Click Start your sandbox for free
    2. If you never used this service, you might get through a verification workflow.
    3. In the Login with... screen, click DevSandbox.
    4. In your Developer Sandbox Console, click on your login name > Copy login command from the menu.
    5. In the Login with... screen, click DevSandbox.
    6. Click Display Token.
    7. Copy the Log in with this token full login command, similar to: oc login --token=sha256~<token> --server=https://api.sandbox-m2.<sandbox_id>.openshiftapps.com:6443.
  7. Get back to Podman Desktop Create a Developer Sandbox screen.
    1. Context name: Enter a name such as Developer Sandbox.
    2. Login command: Paste the oc login command that you copied previously.
  8. The Creation screen displays Successful operation. Click Go back to Resources.

Verification

  1. On the Settings > Resources screen, your Developer Sandbox is running.

    Developer Sandbox is running

  2. Select your Developer Sandbox in the Podman Desktop tray

  3. Run basic tasks such as:

- + \ No newline at end of file diff --git a/docs/openshift/openshift-local.html b/docs/openshift/openshift-local.html index 8e290dfa23f..7734b8586ab 100644 --- a/docs/openshift/openshift-local.html +++ b/docs/openshift/openshift-local.html @@ -13,13 +13,13 @@ - +

Creating an OpenShift Local instance

Red Hat OpenShift Local manages a minimal OpenShift or MicroShift cluster on your workstation for local development and testing.

With Podman Desktop and the OpenShift Local extension, you can manage your OpenShift Local instances.

Prerequisites

Procedure

  1. Install the OpenShift Local extension: on to Dashboard, click OpenShift Local .

  2. Install the OpenShift Local binaries, when on the Dashboard, you see Podman Desktop was not able to find an installation of OpenShift Local.

    1. In the OpenShift Local tile, click Install.
    2. When prerequisites are missing, follow the instructions.
    3. In the Red Hat OpenShift Local screen, click Yes to start the installation.
    4. Follow the installation program instructions.
    5. Reboot to finalize system changes.
  3. (Optionally) Review the extension settings in Settings > Preferences > Extension: Red Hat OpenShift Local.

  4. On the Dashboard, click Initialize and start.

    1. Select your OpenShift Local Virtual machine preset, if not set in Settings > Preferences > Extension: Red Hat OpenShift Local > Preset.

      • MicroShift (experimental): provides a lightweight and optimized environment with a limited set of services.
      • OpenShift: provides a single node OpenShift cluster with a fuller set of services, including a web console (requires more resources).
    2. Provide a pull secret, required to pull container images from the registry:

      1. Open the Red Hat OpenShift Local download page.
      2. Click Copy pull secret.
      3. Get back to Podman Desktop.
      4. Paste the pull secret, and press Enter.

Verification

  1. On the Dashboard screen, OpenShift Local is running.

  2. On the Settings > Resources screen, your OpenShift Local instance is running.

    Developer Sandbox is running

  3. Select your OpenShift Local instance the Podman Desktop tray.

  4. Run basic tasks such as:

Additional resources

- + \ No newline at end of file diff --git a/docs/podman.html b/docs/podman.html index eff6c925293..474b288378a 100644 --- a/docs/podman.html +++ b/docs/podman.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/podman/creating-a-podman-machine.html b/docs/podman/creating-a-podman-machine.html index 42795a2f4aa..fb544e153f2 100644 --- a/docs/podman/creating-a-podman-machine.html +++ b/docs/podman/creating-a-podman-machine.html @@ -13,7 +13,7 @@ - + @@ -28,7 +28,7 @@ Enable to use the rootful connection by default. Required to use Kind on Windows.
  • (On Windows) User mode networking (traffic relayed by a user process): Enable to route the traffic through the network connection from your Windows session. Required to access resources behind your VPN connection.
  • Click Create
  • Create a Podman machine

    - + \ No newline at end of file diff --git a/docs/podman/installing-podman-with-openshift-local-on-windows.html b/docs/podman/installing-podman-with-openshift-local-on-windows.html index e6d32746d4a..92e6deb3641 100644 --- a/docs/podman/installing-podman-with-openshift-local-on-windows.html +++ b/docs/podman/installing-podman-with-openshift-local-on-windows.html @@ -13,13 +13,13 @@ - +

    Installing the Podman Preset with OpenShift Local on Windows

    On Windows, running the Podman container engine requires running a Linux distribution on a virtual machine.

    Consider installing the Podman Preset in OpenShift Local rather than installing Podman with Podman Desktop when you require one of following:

    • No WSL 2
    • Full control on the HyperV virtual machine
    • User without administrator privileges
    • VPN
    • Windows 10

    Prerequisites

    • The user is a member of the Hyper-V Administrators group. The user can add a virtual machine, start or stop this virtual machine, and access the resources related to this virtual machine.
    • Windows 10 version 1709 or later, Enterprise or Professional edition, or Windows 11, Enterprise or Professional edition

    Procedure

    1. Install the OpenShift Local extension.

    2. Install OpenShift Local.

    3. Select the Podman container runtime preset:

      $ crc config set preset podman
    4. Set up your host machine for Red Hat OpenShift Local:

      $ crc setup
    5. Start the Red Hat OpenShift instance:

      $ crc start

    Additional resources

    Next steps

    - + \ No newline at end of file diff --git a/docs/podman/installing.html b/docs/podman/installing.html index a104b75a793..e03abea2096 100644 --- a/docs/podman/installing.html +++ b/docs/podman/installing.html @@ -13,7 +13,7 @@ - + @@ -24,7 +24,7 @@ See Additional resources

    Next steps

    - + \ No newline at end of file diff --git a/docs/podman/setting-podman-machine-default-connection.html b/docs/podman/setting-podman-machine-default-connection.html index 914a4a534b2..bc7e9087091 100644 --- a/docs/podman/setting-podman-machine-default-connection.html +++ b/docs/podman/setting-podman-machine-default-connection.html @@ -13,13 +13,13 @@ - +

    Setting Podman machine default connection

    Each Podman machine exposes two connections:

    • rootless
    • rootful

    Podman has one default connection.

    Podman Desktop, and other tools, such as Kind, connect to the default connection.

    After an event that might have changed the default Podman machine connection, such as creating another Podman machine, consider verifying and setting the default connection.

    Procedure

    1. List Podman machine connections, in a terminal:

      $ podman system connection ls
    2. Set the Podman machine default connection to your desired connection, such as podman-machine-default-root, in a terminal:

      $ podman system connection default podman-machine-default-root
    3. List Podman machine connections, to verify which is the default, in a terminal:

      $ podman system connection ls
    4. Restart the Podman machine that has the default connection:

      $ podman machine stop
      $ podman machine start
    5. Refresh Podman Desktop connection to Podman: click the icon to open the Troubleshooting page, and click the Reconnect providers button.

    Verification

    • Podman Desktop lists images, containers, and pods that are accessible via the desired Podman machine connection.
    - + \ No newline at end of file diff --git a/docs/proxy.html b/docs/proxy.html index a4e0a3e11e2..715bd25fe1d 100644 --- a/docs/proxy.html +++ b/docs/proxy.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/proxy/using-a-proxy-in-your-containers.html b/docs/proxy/using-a-proxy-in-your-containers.html index d5b429f182c..46dba59e406 100644 --- a/docs/proxy/using-a-proxy-in-your-containers.html +++ b/docs/proxy/using-a-proxy-in-your-containers.html @@ -13,13 +13,13 @@ - +

    Using a proxy in your containers on macOS and Windows

    You can configure your Podman machine to use a proxy for your containers.

    Prerequisites

    • <your.proxy.tld:port>: Your proxy URL.

    Procedure

    1. Open a shell prompt on the Podman machine:

      $ podman machine ssh
    2. Edit the containers.conf file to pass the proxy environment variables to Podman CLI.

      The file location depends on your connection mode:

      • rootless: $HOME/.config/containers/containers.conf

      • rootful: /etc/containers/containers.conf

    3. Set the proxy environment variables to pass into the containers:

      [containers]
      http_proxy = true
      env = ["http_proxy=<your.proxy.tld:port>", "https_proxy=<your.proxy.tld:port>"]
    4. Go to Settings > Resources and restart the Podman machine.

    - + \ No newline at end of file diff --git a/docs/proxy/using-a-proxy-on-linux.html b/docs/proxy/using-a-proxy-on-linux.html index 2c730cbe2dc..65744ca1108 100644 --- a/docs/proxy/using-a-proxy-on-linux.html +++ b/docs/proxy/using-a-proxy-on-linux.html @@ -13,13 +13,13 @@ - +

    Using Podman Desktop behind a proxy on Linux

    You can configure Podman to run behind a proxy.

    Prerequisites

    • <proxy_ca.pem>: Your proxy Certificate Authorities (CA), in Privacy-Enhanced Mail (PEM) format.
    • <your.proxy.tld:port>: Your proxy URL.

    Procedure

    1. Edit the containers.conf file to pass the proxy environment variables to Podman CLI.

      The file location depends on your connection mode:

      • rootless: $HOME/.config/containers/containers.conf

      • rootful: /etc/containers/containers.conf

    2. Set the proxy environment variables to pass into the containers:

      [containers]
      http_proxy = true
      env = ["http_proxy=<your.proxy.tld:port>", "https_proxy=<your.proxy.tld:port>"]
    3. Set the proxy environment variables to pass into the Podman engine:

      [engine]
      env = ["http_proxy=<your.proxy.tld:port>", "https_proxy=<your.proxy.tld:port>"]
    4. Add the custom Certificate Authorities (CA) for your proxy:

      $ sudo cp <proxy_ca.pem> /etc/pki/ca-trust/source/anchors/
      $ sudo update-ca-trust
    5. Restart all podman processes.

      $ pkill podman
    6. Restart Podman Desktop: Ctrl + q.

    Verification

    1. Go to Images.
    2. Click Pull an image.
    3. Image to Pull: bash
    4. Click Pull image.
    5. Podman Desktop reports Download complete.
    - + \ No newline at end of file diff --git a/docs/proxy/using-a-proxy-requiring-a-custom-ca.html b/docs/proxy/using-a-proxy-requiring-a-custom-ca.html index 41d3ee59bf2..19e726c5161 100644 --- a/docs/proxy/using-a-proxy-requiring-a-custom-ca.html +++ b/docs/proxy/using-a-proxy-requiring-a-custom-ca.html @@ -13,14 +13,14 @@ - +

    Using Podman Desktop behind a proxy requiring custom Certificate Authorities (CA) on macOS and Windows

    You can configure Podman Desktop to run behind a proxy requiring custom Certificate Authorities (CA), such as self-signed certificates. The configuration applies to the Podman engine, but not to your containers.

    Prerequisites

    • Your proxy URL: <your.proxy.tld:port>
    • Your proxy Certificate Authorities (CA) is stored in your home directory, in the proxy_ca.pem file, in Privacy-Enhanced Mail (PEM) format.

    Procedure

    1. Go to Settings > Proxy, and set your proxy URL:

      1. Proxy configuration enabled: yes
      2. Web Proxy (HTTP): <your.proxy.tld:port>
      3. Secure Web Proxy (HTTPS): <your.proxy.tld:port>
      4. Click the Update button
    2. Copy the certificate to the Podman machine:

      $ cat proxy_ca.pem | podman machine ssh podman-machine-default "cat > proxy_ca.pem"
    3. Open a shell prompt on the Podman machine:

      $ podman machine ssh podman-machine-default
    4. Add the custom Certificate Authorities (CA) for your proxy:

      $ sudo cp proxy_ca.pem /etc/pki/ca-trust/source/anchors/
      $ sudo update-ca-trust
    5. Go to Settings > Resources and restart the Podman machine.

    Verification

    1. Go to Images.
    2. Click Pull an image.
    3. Image to Pull: bash
    4. Click Pull image.
    5. Podman Desktop reports Download complete.
    - + \ No newline at end of file diff --git a/docs/proxy/using-a-proxy.html b/docs/proxy/using-a-proxy.html index 818994d260a..0efccadc67f 100644 --- a/docs/proxy/using-a-proxy.html +++ b/docs/proxy/using-a-proxy.html @@ -13,13 +13,13 @@ - +

    Using Podman Desktop behind a proxy on macOS and Windows

    You can configure Podman Desktop to run behind a proxy.

    The configuration applies to:

    • Processes that Podman Desktop started, such as downloading Podman, Compose, or Kind installers.
    • Podman engine.

    The configuration does not apply to:

    • Your Podman containers.
    • Command line tools that Podman Desktop did not start.

    Prerequisites

    Procedure

    1. Go to Settings > Proxy, and set your proxy URL:

      1. Proxy configuration enabled: yes
      2. Web Proxy (HTTP): <your.proxy.tld:port>
      3. Secure Web Proxy (HTTPS): <your.proxy.tld:port>
      4. Click the Update button
    2. Go to Settings > Resources and restart the Podman machine.

    Verification

    1. You can install extensions such as:

    2. Podman can pull images.

      1. Go to Images.
      2. Click Pull an image.
      3. Image to Pull: bash
      4. Click Pull image.
      5. Podman Desktop reports Download complete.

    Additional resources

    - + \ No newline at end of file diff --git a/docs/proxy/using-a-vpn-on-windows.html b/docs/proxy/using-a-vpn-on-windows.html index e53b7510c75..2904ebd1885 100644 --- a/docs/proxy/using-a-vpn-on-windows.html +++ b/docs/proxy/using-a-vpn-on-windows.html @@ -13,13 +13,13 @@ - +

    Accessing resources behind a VPN with Podman on Windows

    On Windows, if Podman needs to access resources behind a user-controlled VPN, enable user mode networking in your Podman machine.

    Prerequisites

    • Windows host with updated WSL2.
    • Podman 4.6.0 or greater.

    Procedure

    Verification

    • You can now access resources that are behind the VPN.
    - + \ No newline at end of file diff --git a/docs/tags.html b/docs/tags.html index d0761d61e0b..fc9cc630c27 100644 --- a/docs/tags.html +++ b/docs/tags.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/chocolatey.html b/docs/tags/chocolatey.html index 9915e6a24d6..4b750368402 100644 --- a/docs/tags/chocolatey.html +++ b/docs/tags/chocolatey.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/compose.html b/docs/tags/compose.html index fbeef86864c..5de5ea3543f 100644 --- a/docs/tags/compose.html +++ b/docs/tags/compose.html @@ -13,13 +13,13 @@ - +

    3 docs tagged with "compose"

    View All Tags

    Compose

    With Podman Desktop, you can install a Compose engine and manage multi-container applications defined in Compose files.

    Running Compose files

    With Podman Desktop, you can manage multi-container applications defined in Compose files.

    - + \ No newline at end of file diff --git a/docs/tags/containers.html b/docs/tags/containers.html index e74b8dd4e34..a95b04c85ce 100644 --- a/docs/tags/containers.html +++ b/docs/tags/containers.html @@ -13,13 +13,13 @@ - +

    5 docs tagged with "containers"

    View All Tags

    Images

    Working with container images

    Lima

    Podman Desktop can assist you to create a custom Lima instance on Linux and macOS.

    - + \ No newline at end of file diff --git a/docs/tags/docker.html b/docs/tags/docker.html index a38b3fa3b85..0ba7dc11684 100644 --- a/docs/tags/docker.html +++ b/docs/tags/docker.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/extension.html b/docs/tags/extension.html index 8611cc12ad5..6885106427d 100644 --- a/docs/tags/extension.html +++ b/docs/tags/extension.html @@ -13,13 +13,13 @@ - +

    4 docs tagged with "extension"

    View All Tags

    Writing

    Writing a Podman Desktop extension

    - + \ No newline at end of file diff --git a/docs/tags/flathub.html b/docs/tags/flathub.html index 044755aad9b..285a164b5e6 100644 --- a/docs/tags/flathub.html +++ b/docs/tags/flathub.html @@ -13,13 +13,13 @@ - +

    2 docs tagged with "flathub"

    View All Tags

    Linux

    You can install Podman Desktop on Linux from Flathub, a Flatpak bundle, or a ZIP archive.

    - + \ No newline at end of file diff --git a/docs/tags/flatpak.html b/docs/tags/flatpak.html index 5caa566bfe3..319a042eff6 100644 --- a/docs/tags/flatpak.html +++ b/docs/tags/flatpak.html @@ -13,13 +13,13 @@ - +

    2 docs tagged with "flatpak"

    View All Tags

    Linux

    You can install Podman Desktop on Linux from Flathub, a Flatpak bundle, or a ZIP archive.

    - + \ No newline at end of file diff --git a/docs/tags/images.html b/docs/tags/images.html index f3920fa2efa..0c11bd3b2c0 100644 --- a/docs/tags/images.html +++ b/docs/tags/images.html @@ -13,13 +13,13 @@ - +

    9 docs tagged with "images"

    View All Tags

    Containers

    Starting a container on your container engine.

    Images

    Working with container images

    - + \ No newline at end of file diff --git a/docs/tags/installing.html b/docs/tags/installing.html index 8d77ee58ada..796cff60efb 100644 --- a/docs/tags/installing.html +++ b/docs/tags/installing.html @@ -13,13 +13,13 @@ - +

    16 docs tagged with "installing"

    View All Tags

    In your containers

    Using Podman Desktop behind a proxy requiring custom Certificate Authorities (CA).

    Installation

    You can install Podman Desktop on Windows, macOS, and Linux.

    Installing Podman

    Podman Desktop can assist you to install Podman on Windows and macOS.

    Linux

    You can install Podman Desktop on Linux from Flathub, a Flatpak bundle, or a ZIP archive.

    Windows

    How to install Podman on Windows.

    - + \ No newline at end of file diff --git a/docs/tags/kind.html b/docs/tags/kind.html index 23e01e23397..8a2d66770b6 100644 --- a/docs/tags/kind.html +++ b/docs/tags/kind.html @@ -13,13 +13,13 @@ - +

    7 docs tagged with "kind"

    View All Tags

    Kind

    Kind is one way to get Kubernetes running on your workstation.

    - + \ No newline at end of file diff --git a/docs/tags/kubernetes.html b/docs/tags/kubernetes.html index 306f1bdec1f..eb91a18c9e3 100644 --- a/docs/tags/kubernetes.html +++ b/docs/tags/kubernetes.html @@ -13,13 +13,13 @@ - +

    3 docs tagged with "kubernetes"

    View All Tags

    Lima

    Podman Desktop can assist you to create a custom Lima instance on Linux and macOS.

    - + \ No newline at end of file diff --git a/docs/tags/lima.html b/docs/tags/lima.html index 6c3b6a99bb6..172654418c2 100644 --- a/docs/tags/lima.html +++ b/docs/tags/lima.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/linux.html b/docs/tags/linux.html index de056c97012..b58f7747f1c 100644 --- a/docs/tags/linux.html +++ b/docs/tags/linux.html @@ -13,13 +13,13 @@ - +

    10 docs tagged with "linux"

    View All Tags

    In your containers

    Using Podman Desktop behind a proxy requiring custom Certificate Authorities (CA).

    Lima

    Podman Desktop can assist you to create a custom Lima instance on Linux and macOS.

    Linux

    You can install Podman Desktop on Linux from Flathub, a Flatpak bundle, or a ZIP archive.

    Linux

    Using Podman Desktop behind a proxy on Linux.

    - + \ No newline at end of file diff --git a/docs/tags/mac-0-s.html b/docs/tags/mac-0-s.html index 0c8495d1da7..2951fe31d37 100644 --- a/docs/tags/mac-0-s.html +++ b/docs/tags/mac-0-s.html @@ -13,13 +13,13 @@ - +

    One doc tagged with "mac0S"

    View All Tags

    Using `podman-mac-helper` on macOS

    Using the `podman-mac-helper` tool can make it easier to migrate from Docker to Podman on macOS, as it allows you to continue using familiar Docker commands while taking advantage of the benefits of Podman.

    - + \ No newline at end of file diff --git a/docs/tags/mac-os.html b/docs/tags/mac-os.html index c591ab7476c..8d6940ec5eb 100644 --- a/docs/tags/mac-os.html +++ b/docs/tags/mac-os.html @@ -13,13 +13,13 @@ - +

    4 docs tagged with "macOS"

    View All Tags

    Lima

    Podman Desktop can assist you to create a custom Lima instance on Linux and macOS.

    - + \ No newline at end of file diff --git a/docs/tags/macos.html b/docs/tags/macos.html index d72782dc580..30705ed5d44 100644 --- a/docs/tags/macos.html +++ b/docs/tags/macos.html @@ -13,13 +13,13 @@ - +

    4 docs tagged with "macos"

    View All Tags

    In your containers

    Using Podman Desktop behind a proxy requiring custom Certificate Authorities (CA).

    - + \ No newline at end of file diff --git a/docs/tags/migrating-from-docker.html b/docs/tags/migrating-from-docker.html index 87c6aa42206..47d1d624bff 100644 --- a/docs/tags/migrating-from-docker.html +++ b/docs/tags/migrating-from-docker.html @@ -13,13 +13,13 @@ - +

    6 docs tagged with "migrating-from-docker"

    View All Tags

    Emulating Docker CLI with Podman

    Emulation Docker CLI with Podman can make it easier to migrate from Docker to Podman, as it allows you to continue using familiar Docker commands while taking advantage of the benefits of Podman.

    Using `podman-mac-helper` on macOS

    Using the `podman-mac-helper` tool can make it easier to migrate from Docker to Podman on macOS, as it allows you to continue using familiar Docker commands while taking advantage of the benefits of Podman.

    Using the `DOCKER_HOST` environment variable

    Using the `DOCKER_HOST` environment variable can make it easier to migrate from Docker to Podman Desktop, as it allows you to continue using familiar Docker commands while taking advantage of the benefits of Podman.

    - + \ No newline at end of file diff --git a/docs/tags/migrating-to-kubernetes.html b/docs/tags/migrating-to-kubernetes.html index 7e6ce718511..da72f09eeac 100644 --- a/docs/tags/migrating-to-kubernetes.html +++ b/docs/tags/migrating-to-kubernetes.html @@ -13,13 +13,13 @@ - +

    29 docs tagged with "migrating-to-kubernetes"

    View All Tags

    Kind

    Kind is one way to get Kubernetes running on your workstation.

    Kubernetes

    Migrate transparently from Podman to Kubernetes, and continue using familiar workflows.

    Minikube

    Minikube is one way to get Kubernetes running on your workstation.

    - + \ No newline at end of file diff --git a/docs/tags/minikube.html b/docs/tags/minikube.html index 549c0b7d695..c10be6d6244 100644 --- a/docs/tags/minikube.html +++ b/docs/tags/minikube.html @@ -13,13 +13,13 @@ - +

    7 docs tagged with "minikube"

    View All Tags

    Minikube

    Minikube is one way to get Kubernetes running on your workstation.

    - + \ No newline at end of file diff --git a/docs/tags/onboarding.html b/docs/tags/onboarding.html index 2e21fb6f7b8..f1543fd781e 100644 --- a/docs/tags/onboarding.html +++ b/docs/tags/onboarding.html @@ -13,13 +13,13 @@ - +

    5 docs tagged with "onboarding"

    View All Tags

    Lima

    Podman Desktop can assist you to create a custom Lima instance on Linux and macOS.

    - + \ No newline at end of file diff --git a/docs/tags/openshift-local.html b/docs/tags/openshift-local.html index 384ec677fee..661d5067feb 100644 --- a/docs/tags/openshift-local.html +++ b/docs/tags/openshift-local.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/openshift.html b/docs/tags/openshift.html index b0f522dc642..6c5140501fa 100644 --- a/docs/tags/openshift.html +++ b/docs/tags/openshift.html @@ -13,13 +13,13 @@ - +

    3 docs tagged with "openshift"

    View All Tags
    - + \ No newline at end of file diff --git a/docs/tags/podman-desktop.html b/docs/tags/podman-desktop.html index ed6c6c4534f..e0f5e53658f 100644 --- a/docs/tags/podman-desktop.html +++ b/docs/tags/podman-desktop.html @@ -13,13 +13,13 @@ - +

    27 docs tagged with "podman-desktop"

    View All Tags

    Images

    Working with container images

    In your containers

    Using Podman Desktop behind a proxy requiring custom Certificate Authorities (CA).

    Installation

    You can install Podman Desktop on Windows, macOS, and Linux.

    Installing Podman

    Podman Desktop can assist you to install Podman on Windows and macOS.

    Lima

    Podman Desktop can assist you to create a custom Lima instance on Linux and macOS.

    Linux

    You can install Podman Desktop on Linux from Flathub, a Flatpak bundle, or a ZIP archive.

    Linux

    Using Podman Desktop behind a proxy on Linux.

    Windows

    How to install Podman on Windows.

    Writing

    Writing a Podman Desktop extension

    - + \ No newline at end of file diff --git a/docs/tags/podman.html b/docs/tags/podman.html index 284d5fc5f51..65b52377c05 100644 --- a/docs/tags/podman.html +++ b/docs/tags/podman.html @@ -13,13 +13,13 @@ - +

    5 docs tagged with "podman"

    View All Tags

    Installing Podman

    Podman Desktop can assist you to install Podman on Windows and macOS.

    - + \ No newline at end of file diff --git a/docs/tags/pods.html b/docs/tags/pods.html index 5586cb6b924..8a02995c897 100644 --- a/docs/tags/pods.html +++ b/docs/tags/pods.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/proxy.html b/docs/tags/proxy.html index c4dd60f1b0a..9ea329f6ef8 100644 --- a/docs/tags/proxy.html +++ b/docs/tags/proxy.html @@ -13,13 +13,13 @@ - +

    2 docs tagged with "proxy"

    View All Tags

    Linux

    Using Podman Desktop behind a proxy on Linux.

    - + \ No newline at end of file diff --git a/docs/tags/publishing.html b/docs/tags/publishing.html index 2e325bba4e3..02ccfc3825e 100644 --- a/docs/tags/publishing.html +++ b/docs/tags/publishing.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/registries.html b/docs/tags/registries.html index da0cd3caa29..dba269df228 100644 --- a/docs/tags/registries.html +++ b/docs/tags/registries.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/restricted-environment.html b/docs/tags/restricted-environment.html index 153cfad2f41..972b0a150dd 100644 --- a/docs/tags/restricted-environment.html +++ b/docs/tags/restricted-environment.html @@ -13,13 +13,13 @@ - +

    2 docs tagged with "restricted-environment"

    View All Tags
    - + \ No newline at end of file diff --git a/docs/tags/scoop.html b/docs/tags/scoop.html index 3fa7fa94463..b1a04e921a7 100644 --- a/docs/tags/scoop.html +++ b/docs/tags/scoop.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/vpn.html b/docs/tags/vpn.html index 14e4aae78f9..e7edb30d016 100644 --- a/docs/tags/vpn.html +++ b/docs/tags/vpn.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/when-clause.html b/docs/tags/when-clause.html index b0c9d313965..f31e844ba48 100644 --- a/docs/tags/when-clause.html +++ b/docs/tags/when-clause.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/windows.html b/docs/tags/windows.html index 37b2812a67c..6265150742f 100644 --- a/docs/tags/windows.html +++ b/docs/tags/windows.html @@ -13,13 +13,13 @@ - +

    14 docs tagged with "windows"

    View All Tags

    In your containers

    Using Podman Desktop behind a proxy requiring custom Certificate Authorities (CA).

    Installing Podman

    Podman Desktop can assist you to install Podman on Windows and macOS.

    Windows

    How to install Podman on Windows.

    - + \ No newline at end of file diff --git a/docs/tags/winget.html b/docs/tags/winget.html index fb488ed8632..2e9138687b6 100644 --- a/docs/tags/winget.html +++ b/docs/tags/winget.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/writing.html b/docs/tags/writing.html index e4019cfeed3..00d58da04ba 100644 --- a/docs/tags/writing.html +++ b/docs/tags/writing.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/troubleshooting.html b/docs/troubleshooting.html index 9b560562fca..8ab8abed235 100644 --- a/docs/troubleshooting.html +++ b/docs/troubleshooting.html @@ -13,13 +13,13 @@ - +

    Troubleshooting

    If you cannot find your issue here or in the documentation, please fill an issue on our repository. You can also explore the discussions and do a search on similar issues on the repository.

    Using the Troubleshooting page

    Podman Desktop has a Troubleshooting page to help identify and fix most common errors.

    Procedure

    1. To open the Troubleshooting page, click the icon.

    2. To test the connection to the container engine, click the Ping button.

      Expect a reply such as: Responded: 79,75 (9.10ms).

    3. To test Click the Check containers button.

      Expect a reply such as: Responded: 16 containers (108.70ms).

    4. When connection to the container engine failed, to recreate connections to the sockets, click the Reconnect providers button.

      Expect a reply such as: Done in (5.00ms).

    5. Search for errors in the Logs section.

    Additional resources

    - + \ No newline at end of file diff --git a/docs/troubleshooting/troubleshooting-openshift-local.html b/docs/troubleshooting/troubleshooting-openshift-local.html index f288cc4a761..179830ca64b 100644 --- a/docs/troubleshooting/troubleshooting-openshift-local.html +++ b/docs/troubleshooting/troubleshooting-openshift-local.html @@ -13,13 +13,13 @@ - +

    Troubleshooting OpenShift Local

    You can find here troubleshooting help for issues specific to OpenShift Local.

    1. To verify that your user can run crc, verify that the crc binary is available in the user PATH (/usr/local/bin/crc on macOS and Linux).

    2. To verify that the host is ready to run OpenShift Local, in a terminal, run this command and verify the output has no errors:

      $ crc setup --check-only

      Sample output:

      INFO Using bundle path <bundle_path>
      INFO Checking if running as non-root
      INFO Checking if running inside WSL2
      INFO Checking if crc-admin-helper executable is cached
      crc-admin-helper executable is not cached
    3. To verify the configured preset, in a terminal, run:

      $ crc config get preset
    - + \ No newline at end of file diff --git a/docs/troubleshooting/troubleshooting-podman-on-linux.html b/docs/troubleshooting/troubleshooting-podman-on-linux.html index 5587106025b..16205293702 100644 --- a/docs/troubleshooting/troubleshooting-podman-on-linux.html +++ b/docs/troubleshooting/troubleshooting-podman-on-linux.html @@ -13,14 +13,14 @@ - +

    Troubleshooting Podman on Linux

    Podman Desktop does not manage native Podman

    On Linux, Podman usually runs natively on the host. Podman might also run in a virtual machine.

    Podman Desktop does only connect to the native rootless podman connection.

    Podman Desktop does not manage podman native configuration or podman machine (create, configure, start, stop, delete).

    Podman Desktop might manage configuration relative to connections to registries and proxies.

    - + \ No newline at end of file diff --git a/docs/troubleshooting/troubleshooting-podman-on-macos.html b/docs/troubleshooting/troubleshooting-podman-on-macos.html index 53e566621ae..2ca7dcb60cb 100644 --- a/docs/troubleshooting/troubleshooting-podman-on-macos.html +++ b/docs/troubleshooting/troubleshooting-podman-on-macos.html @@ -13,7 +13,7 @@ - + @@ -23,7 +23,7 @@ or any similar error denoting that Podman Engine does not exist.

    Explanation

    The Podman Installer and Homebrew use different locations to store the Podman Engine files in the file system. For example, Podman Installer installs Podman Engine in the path /opt/podman whereas Homebrew uses the path /usr/local for macOS Intel, /opt/homebrew for Apple Silicon and /home/linuxbrew/.linuxbrew for Linux.

    Solution

    To check where exactly is your Podman Engine installed, run the command-

    which podman

    This returns the path where the Podman Engine would be installed. This would help determine further action.

    For example, if you’re looking to completely uninstall Podman Engine from your system for a fresh installation, running which podman returns the exact path where Podman still exists. This could be the path where Podman Installer stores Podman Engine, such as /opt/podman. Once you know the path, run:

    sudo rm -rf /opt/podman

    Or

    sudo rm -rf path-where-podman-exists

    Here, you would replace path-where-podman-exists with the output of which podman.

    You can now proceed for a fresh installation of Podman Desktop

    Podman machine on Apple Silicon

    Issue

    If you are using an Apple Silicon and brew, you might encounter the following error when starting Podman from Podman Desktop

    Error: qemu exited unexpectedly with exit code 1, stderr: qemu-system-x86_64: invalid accelerator hvf
    qemu-system-x86_64: falling back to tcg
    qemu-system-x86_64: unable to find CPU model 'host'

    Explanation

    Podman machine is running as a x86_64 process and it could be due to a dual install of homebrew: one for x86_64 and one for arm64.

    Solution

    You can

    1. Uninstall Podman machine on your x86_64 brew install (for example from a terminal running under rosetta) brew uninstall podman
    2. or uninstall brew x86_64 as most brew receipe have now arm64 support: follow these instructions from a terminal running under rosetta

    Then run a terminal in native mode (default) and install Podman machine brew install podman

    Finally clean the Podman machine VMs that had been previously created, and create new ones.

    $ podman machine rm podman-machine-default
    $ podman machine init

    You should be a happy camper from here.

    Recovering from a failed start

    After a failed start, the Podman machine might be unable to start because a QEMU process is still running and the PID file is in use.

    Workaround

    1. Kill the remaining QEMU process and stop the Podman machine:

      $ ps -edf | grep qemu-system | grep -v grep | awk '{print $2}' | xargs -I{} kill -9 {}; podman machine stop
    2. Start the Podman machine.

    Solution

    Use Podman 4.6.1 or greater.

    Podman machine not starting with QEMU 8.1.0 from brew

    When you installed Podman and QEMU with brew, and QEMU version is 8.1.0, Podman machine might fail to start with an error such as: Error: qemu exited unexpectedly with exit code -1, stderr: qemu-system-x86_64: Error: HV_DENIED

    Solution

    Workaround

    Keep your brew-based installation and apply one of these workarounds:

    • Rollback the QEMU brew package to v8.0.3.

      $ brew uninstall qemu
      $ curl -OSL https://raw.githubusercontent.com/Homebrew/homebrew-core/dc0669eca9479e9eeb495397ba3a7480aaa45c2e/Formula/qemu.rb
      $ brew install ./qemu.rb
    • Alternatively, sign the QEMU brew binary locally:

      $ cat >entitlements.xml <<EOF
      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
      <plist version="1.0">
      <dict>
      <key>com.apple.security.hypervisor</key>
      <true/>
      </dict>
      </plist>
      EOF
      $ codesign --sign - --entitlements entitlements.xml --force /usr/local/bin/qemu-system-$(uname -m | sed -e s/arm64/aarch64/)

    Additional resources

    - + \ No newline at end of file diff --git a/docs/troubleshooting/troubleshooting-podman-on-windows.html b/docs/troubleshooting/troubleshooting-podman-on-windows.html index b6a72c4facc..080818caf6f 100644 --- a/docs/troubleshooting/troubleshooting-podman-on-windows.html +++ b/docs/troubleshooting/troubleshooting-podman-on-windows.html @@ -13,13 +13,13 @@ - +

    Troubleshooting Podman on Windows

    You can find here troubleshooting help for issues specific to Windows.

    Deleting a corrupted Podman Machine

    Issue

    1. You are not able to stop your Podman Machine.

      $ podman machine stop
    2. The Logs contain this error:

      Error: Error stopping sysd: exit status 1

    Workaround

    1. To display the active Windows Subsystem for Linux (WSL) distribution list: in the terminal, run:

      $ wsl --list
    2. The command returns the list of active WSL distributions. Identify your Podman Machine in the list, such as podman-machine-default.

    3. To stop, and uninstall your Podman Machine: in the terminal, replace podman-machine-default by your Podman machine name, and run:

      $ wsl --unregister podman-machine-default

    Additional resources

    The terminal session attaches to Podman Desktop when launching it from the command line

    Issue

    1. When you start Podman Desktop from the command line in Windows the terminal session attaches to it.
    2. When you quit the terminal, it kills Podman Desktop.

    Workaround

    • Set the environment variable ELECTRON_NO_ATTACH_CONSOLE to true before launching Podman Desktop.

    When the host is behind a VPN, Podman cannot access network resources

    When the host is behind a VPN, Podman might fail to access network resources, and display errors such as Temporary failure in name resolution.

    Solution

    See Accessing resources behind a VPN with Podman on Windows.

    Older WSL versions might lead to networking issues

    Older versions of WSL might cause networking issues, such as the Get-NetTCPConnection error, indicating that the WSL loopback forwarding facility is not functioning correctly. Recent versions of WSL do not have this issue.

    Solution

    1. Update Windows to either the 21H1, 21H2, or 22H2 version of Windows 10, or to the 21H1 version of Windows 11, or greater.

    2. Update WSL:

      wsl --update
    3. Optionally, delete your Podman machine, and create a new one.

    - + \ No newline at end of file diff --git a/docs/troubleshooting/troubleshooting-podman.html b/docs/troubleshooting/troubleshooting-podman.html index 1934e8955d1..6d9f893f1b3 100644 --- a/docs/troubleshooting/troubleshooting-podman.html +++ b/docs/troubleshooting/troubleshooting-podman.html @@ -13,7 +13,7 @@ - + @@ -23,7 +23,7 @@ After each step, quit and restart Podman Desktop to ensure that it can detect yo img

    Solution

    1. Stop and restart Podman Desktop.

    2. In Podman Desktop, restart the Podman machine.

    3. In a terminal, restart the Podman machine:

      $ podman machine stop
      $ podman machine start
    4. If the previous step did not work for you, delete your Podman machine, and create a new one:

      $ podman machine rm
      $ podman machine init
    5. If the previous steps did not work for you, delete your Podman configuration files, and create a new Podman machine:

      $ rm -rf ~/.local/share/containers/podman
      $ rm -rf ~/.config/containers/
      $ podman machine init

    Podman Desktop is failing to display the images or containers from a rootful Podman machine

    The rootful configuration for a Podman machine depends on the Podman machine default connection. The default connection can be modified by external events, or when creating a new Podman machine. Podman Desktop might then reconnect in rootless mode, and fail to display the images or containers.

    Workaround

    1. Verify that the Podman default connection is the rootful connection to your Podman machine:

      $ podman system connection ls

      The default connection has true at the end of the line.

      The rootful connection has a -root name suffix, and a ssh://root@ URI prefix.

      Example default rootful connection:

      Name                        URI                                                         Identity                                      Default
      podman-machine-default ssh://user@127.0.0.1:54826/run/user/1000/podman/podman.sock c:\Users\username\.ssh\podman-machine-default false
      podman-machine-default-root ssh://root@127.0.0.1:54826/run/podman/podman.sock c:\Users\username\.ssh\podman-machine-default true

      Example default rootless connection:

      Name                        URI                                                         Identity                                      Default
      podman-machine-default ssh://user@127.0.0.1:54826/run/user/1000/podman/podman.sock c:\Users\username\.ssh\podman-machine-default true
      podman-machine-default-root ssh://root@127.0.0.1:54826/run/podman/podman.sock c:\Users\username\.ssh\podman-machine-default false

      Continue with the next steps only if the default connection is not the rootful connection to your Podman machine.

    2. Set the Podman machine in rootful mode:

      $ podman machine set --rootful
    3. Restart the Podman machine:

      $ podman machine stop
      $ podman machine start
    4. Verify that Podman default connection points to the rootful connection:

      $ podman system connection ls

      Continue with the next steps only if the default connection is not the rootful connection to your Podman machine.

    5. Set the Podman machine, such as podman-machine-default in rootful mode:

      $ podman system connection default podman-machine-default-root
    6. Restart the Podman machine:

      $ podman machine stop
      $ podman machine start

    Verification

    1. The Podman default connection is the rootful connection to your Podman machine:

      $ podman system connection ls

    Warning about Docker compatibility mode

    Issue

    When running the Podman provider, a warning shows regarding Docker compatibility mode on the dashboard:

    ⚠️ Docker Socket Compatibility: Podman is not emulating the default Docker socket path: '/var/run/docker.sock'. Docker-specific tools may not work. See troubleshooting page on podman-desktop.io for more information.

    This might appear when either:

    • The Docker socket is not mounted correctly.
    • Docker Desktop is also being ran at the same time.

    Solution

    1. Stop Docker Desktop (if installed).

    2. On macOS, Run the podman-mac-helper binary:

      $ sudo podman-mac-helper install
    3. Restart the Podman machine to recreate and activate the default Docker socket path.

    Note: If Docker Desktop is started again, it will automatically re-alias the default Docker socket location and the Podman compatibility warning will re-appear.

    - + \ No newline at end of file diff --git a/downloads.html b/downloads.html index af387670861..ac24d4b8c2b 100644 --- a/downloads.html +++ b/downloads.html @@ -13,13 +13,13 @@ - +

    Downloads

    Windows

    Podman Desktop for Windows

    Download NowWindows installer x64, version
    Other Windows downloads:
    Installer:
    Portable binary:
    Installer for restricted environments:
    Package Managers Guide

    Using winget? Install in one command:

    winget install -e --id RedHat.Podman-Desktop

    macOS

    Podman Desktop for macOS

    Download NowUniversal *.dmg, version

    Using Brew? Install in one command:

    brew install podman-desktop

    Linux

    Podman Desktop for Linux

    Download NowLinux *.flatpak, version
    Other Linux downloads:
    AMD64 binary (tar.gz)

    Using Flathub ? Install in one command:

    flatpak install flathub io.podman_desktop.PodmanDesktop
    - + \ No newline at end of file diff --git a/downloads/linux.html b/downloads/linux.html index 8cc072cdac2..4b88e56d45f 100644 --- a/downloads/linux.html +++ b/downloads/linux.html @@ -13,13 +13,13 @@ - +

    Linux Downloads

    Linux

    Podman Desktop for Linux

    Download NowLinux *.flatpak, version
    Other Linux downloads:
    AMD64 binary (tar.gz)

    Using Flathub ? Install in one command:

    flatpak install flathub io.podman_desktop.PodmanDesktop
    - + \ No newline at end of file diff --git a/downloads/macos.html b/downloads/macos.html index 3b727e0e1c4..eaed68b3e70 100644 --- a/downloads/macos.html +++ b/downloads/macos.html @@ -13,13 +13,13 @@ - +

    macOS Downloads

    macOS

    Podman Desktop for macOS

    Download NowUniversal *.dmg, version

    Using Brew? Install in one command:

    brew install podman-desktop

    - + \ No newline at end of file diff --git a/downloads/windows.html b/downloads/windows.html index 3057fce6d6f..bb00a5b48a6 100644 --- a/downloads/windows.html +++ b/downloads/windows.html @@ -13,13 +13,13 @@ - +

    Windows Downloads

    Windows

    Podman Desktop for Windows

    Download NowWindows installer x64, version
    Other Windows downloads:
    Installer:
    Portable binary:
    Installer for restricted environments:
    Package Managers Guide

    Using winget? Install in one command:

    winget install -e --id RedHat.Podman-Desktop
    - + \ No newline at end of file diff --git a/extend.html b/extend.html index 41de7487154..ba6af1d43c9 100644 --- a/extend.html +++ b/extend.html @@ -13,13 +13,13 @@ - +

    Extend capabilities with Docker Desktop extensions.

    Podman Desktop is able to use Docker Desktop UI plug-ins by adding a wrapper to intercept the API calls.

    By adding a Docker Desktop extension, you can extend the capabilities of Podman Desktop.

    Extend with Docker Desktop extensionsExtend with Docker Desktop extensionsReuse Docker Desktop extensionsReuse Docker Desktop extensions

    Extend capabilities with Podman Desktop plug-ins.

    Podman Desktop is using plug-ins under the hood to manage the different container engine.

    By adding a new plugin, you can extend the capabilities of Podman Desktop.

    For example plug a new container engine like Podman, Docker, or use Lima.

    Extensibility diagramExtensibility diagram

    Extensions are written in JavaScript/Typescript
    It consumes a TypeScript definition of the extension model.

    More extension points

    Several extension points exists in addition to adding a Provider connection.

    User interaction, dialogs, launching commands are among the possible ways to extend Podman Desktop

    - + \ No newline at end of file diff --git a/features.html b/features.html index dbf8c00e09e..37f6cae37d0 100644 --- a/features.html +++ b/features.html @@ -13,13 +13,13 @@ - +

    Manage containers

    List, Search, Inspect, Connect, Run and Stop containers.

    Manage containersManage containers
    Pull image and manage registriesPull image and manage registries

    Build, Pull and Push images

    Build images from the tool.

    Pull and push images by managing registries.

    Run containers from these images

    Management from the tray icon

    Check status and start/stop container engines.

    Create new machine if needed as well as start or stop Podman machines directly from the tray icon.

    Quickly check activity status and stay updated without losing focus from other tasks.

    Manage Podman MachineManage Podman Machine
    Manage Podman MachineManage Podman Machine

    Manage Podman resources

    View allocated memory, CPU and storage.

    Create new machine if needed

    Create and start Pods with Podman

    Select containers to run as a Pod.

    Play Kubernetes YAML locally without Kubernetes.

    Generate Kubernetes YAML from Pods.

    Manage PodsManage Pods
    Pull image and manage registriesPull image and manage registries

    Import Docker Desktop extensions

    Specify OCI image of a Docker Desktop extension to import it.

    For example: security scanner or deploy to OpenShift extensions.

    - + \ No newline at end of file diff --git a/index.html b/index.html index 2150f62330c..75645f17ef8 100644 --- a/index.html +++ b/index.html @@ -13,13 +13,13 @@ - +

    Containers and Kubernetes for application developers

    Podman Desktop is an open source graphical tool enabling you to seamlessly work with containers and Kubernetes from your local environment.

    Podman Desktop home page

    Available on Windows, Mac and Linux

    Use the same UI across different operating systems

    features

    Build, run and manage containers.

    Inspect

    Get a terminal in your container

    Inspect logs

    Push

    Push images to OCI registries

    Deploy & Test images on Kubernetes

    features

    Work with Pods and Kubernetes

    Working with pods

    Create Pods from existing containers

    Create, start, inspect and manage pods

    Working with Kubernetes

    Play Kubernetes YAML directly with Podman Engine

    Generate Kubernetes YAML from pods

    Deploy to existing Kubernetes environments

    Running Kubernetes on your workstation with Kind and Podman

    Configure

    Multiple configuration options

    Resources Utilization

    Configure CPU/Memory/Disk of Podman machines.

    extensibility

    Bring new features with Podman Desktop plug-ins or Docker Desktop Extensions.

    • Container engines are plugged through extension points
    • JavaScript extensions can contribute new behaviour
    • Reuse existing extensions such as Trivy and OpenShift directly in Podman Desktop

    Current Podman Desktop plugins: Podman, Docker, Lima, Kubernetes, and OpenShift Local with the Podman preset.

    Reuse Docker Desktop extensionsReuse Docker Desktop extensions

    update

    Install and keep up to date Podman

    Install Podman and other dependencies directly from Podman Desktop if not yet installed.

    Check for updates and get notified about new changes.

    Available on Windows and macOS!

    - + \ No newline at end of file diff --git a/search.html b/search.html index 5dd8f3ec49b..fa38ba43e10 100644 --- a/search.html +++ b/search.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file