diff --git a/404.html b/404.html index b2e804b8f2e..a85f59a4fce 100644 --- a/404.html +++ b/404.html @@ -10,13 +10,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/0e384e19.ca8cc1c8.js b/assets/js/0e384e19.d9814c6b.js similarity index 95% rename from assets/js/0e384e19.ca8cc1c8.js rename to assets/js/0e384e19.d9814c6b.js index a676f178e30..0bf0b226978 100644 --- a/assets/js/0e384e19.ca8cc1c8.js +++ b/assets/js/0e384e19.d9814c6b.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[9671],{5318:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var r=n(7378);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),s=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=s(e.components);return r.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=s(n),m=o,f=u["".concat(c,".").concat(m)]||u[m]||d[m]||a;return n?r.createElement(f,i(i({ref:t},p),{},{components:n})):r.createElement(f,i({ref:t},p))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=u;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:o,i[1]=l;for(var s=2;s{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var r=n(2685),o=(n(7378),n(5318));const a={sidebar_position:1},i="Introduction",l={unversionedId:"intro",id:"intro",title:"Introduction",description:"Let's discover Podman Desktop in less than 5 minutes.",source:"@site/docs/intro.md",sourceDirName:".",slug:"/intro",permalink:"/docs/intro",draft:!1,editUrl:"https://github.com/containers/podman-desktop/tree/main/website/docs/intro.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",next:{title:"Installation Guide for Podman Desktop",permalink:"/docs/Installation/"}},c={},s=[{value:"Getting Started",id:"getting-started",level:2},{value:"What you'll need",id:"what-youll-need",level:3},{value:"Check podman CLI is working",id:"check-podman-cli-is-working",level:3}],p={toc:s};function d(e){let{components:t,...n}=e;return(0,o.kt)("wrapper",(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"introduction"},"Introduction"),(0,o.kt)("p",null,"Let's discover ",(0,o.kt)("strong",{parentName:"p"},"Podman Desktop in less than 5 minutes"),"."),(0,o.kt)("h2",{id:"getting-started"},"Getting Started"),(0,o.kt)("p",null,"Get started by ",(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("a",{parentName:"strong",href:"/downloads"},"Downloading")," the product")," for your Operating System."),(0,o.kt)("h3",{id:"what-youll-need"},"What you'll need"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Podman 4.x",(0,o.kt)("ul",{parentName:"li"},(0,o.kt)("li",{parentName:"ul"},"Check there is a podman machine running")))),(0,o.kt)("h3",{id:"check-podman-cli-is-working"},"Check podman CLI is working"),(0,o.kt)("p",null,"Run the development server:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},'$ podman run quay.io/podman/hello\n!... Hello Podman World ...!\n\n .--"--.\n / - - \\\n / (O) (O) \\\n ~~~| -=(,Y,)=- |\n .---. /` \\ |~~\n ~/ o o \\~~~~.----. ~~\n | =(X)= |~ / (O (O) \\\n ~~~~~~~ ~| =(Y_)=- |\n ~~~~ ~~~| U |~~\n\nProject: https://github.com/containers/podman\nWebsite: https://podman.io\nDocuments: https://docs.podman.io\nTwitter: @Podman_io\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[9671],{5318:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var r=n(7378);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c=r.createContext({}),s=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=s(e.components);return r.createElement(c.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,c=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),u=s(n),m=o,f=u["".concat(c,".").concat(m)]||u[m]||d[m]||a;return n?r.createElement(f,i(i({ref:t},p),{},{components:n})):r.createElement(f,i({ref:t},p))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=u;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:o,i[1]=l;for(var s=2;s{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>d,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var r=n(2685),o=(n(7378),n(5318));const a={sidebar_position:1},i="Introduction",l={unversionedId:"intro",id:"intro",title:"Introduction",description:"Let's discover Podman Desktop in less than 5 minutes.",source:"@site/docs/intro.md",sourceDirName:".",slug:"/intro",permalink:"/docs/intro",draft:!1,editUrl:"https://github.com/containers/podman-desktop/tree/main/website/docs/intro.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1},sidebar:"tutorialSidebar",next:{title:"Installation Guide for Podman Desktop",permalink:"/docs/Installation/"}},c={},s=[{value:"Getting Started",id:"getting-started",level:2},{value:"What you'll need",id:"what-youll-need",level:3},{value:"Check Podman CLI is working",id:"check-podman-cli-is-working",level:3}],p={toc:s};function d(e){let{components:t,...n}=e;return(0,o.kt)("wrapper",(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"introduction"},"Introduction"),(0,o.kt)("p",null,"Let's discover ",(0,o.kt)("strong",{parentName:"p"},"Podman Desktop in less than 5 minutes"),"."),(0,o.kt)("h2",{id:"getting-started"},"Getting Started"),(0,o.kt)("p",null,"Get started by ",(0,o.kt)("strong",{parentName:"p"},(0,o.kt)("a",{parentName:"strong",href:"/downloads"},"Downloading")," the product")," for your Operating System."),(0,o.kt)("h3",{id:"what-youll-need"},"What you'll need"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Podman 4.x",(0,o.kt)("ul",{parentName:"li"},(0,o.kt)("li",{parentName:"ul"},"Check there is a Podman machine running")))),(0,o.kt)("h3",{id:"check-podman-cli-is-working"},"Check Podman CLI is working"),(0,o.kt)("p",null,"Run the development server:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},'$ podman run quay.io/podman/hello\n!... Hello Podman World ...!\n\n .--"--.\n / - - \\\n / (O) (O) \\\n ~~~| -=(,Y,)=- |\n .---. /` \\ |~~\n ~/ o o \\~~~~.----. ~~\n | =(X)= |~ / (O (O) \\\n ~~~~~~~ ~| =(Y_)=- |\n ~~~~ ~~~| U |~~\n\nProject: https://github.com/containers/podman\nWebsite: https://podman.io\nDocuments: https://docs.podman.io\nTwitter: @Podman_io\n')))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/9d9f8394.974126da.js b/assets/js/9d9f8394.974126da.js deleted file mode 100644 index 5def0e36c01..00000000000 --- a/assets/js/9d9f8394.974126da.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[9360],{5318:(e,n,t)=>{t.d(n,{Zo:()=>m,kt:()=>c});var a=t(7378);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var s=a.createContext({}),p=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},m=function(e){var n=p(e.components);return a.createElement(s.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},u=a.forwardRef((function(e,n){var t=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,m=r(e,["components","mdxType","originalType","parentName"]),u=p(t),c=o,h=u["".concat(s,".").concat(c)]||u[c]||d[c]||i;return t?a.createElement(h,l(l({ref:n},m),{},{components:t})):a.createElement(h,l({ref:n},m))}));function c(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var i=t.length,l=new Array(i);l[0]=u;var r={};for(var s in n)hasOwnProperty.call(n,s)&&(r[s]=n[s]);r.originalType=e,r.mdxType="string"==typeof e?e:o,l[1]=r;for(var p=2;p{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>p});var a=t(2685),o=(t(7378),t(5318));const i={sidebar_position:4},l="Troubleshooting",r={unversionedId:"troubleshooting",id:"troubleshooting",title:"Troubleshooting",description:"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.",source:"@site/docs/troubleshooting.md",sourceDirName:".",slug:"/troubleshooting",permalink:"/docs/troubleshooting",draft:!1,editUrl:"https://github.com/containers/podman-desktop/tree/main/website/docs/troubleshooting.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Using the `podman-mac-helper` tool on macOS",permalink:"/docs/getting-started/using-podman-mac-helper-to-migrate-from-docker-to-podman-on-macos.md"},next:{title:"Using Compose with Podman Desktop",permalink:"/docs/podman-compose"}},s={},p=[{value:"Podman Issues",id:"podman-issues",level:2},{value:"Unable to see any image or container after downloading Podman Desktop",id:"unable-to-see-any-image-or-container-after-downloading-podman-desktop",level:3},{value:"System Requirements",id:"system-requirements",level:4},{value:"Check connection",id:"check-connection",level:4},{value:"Unable to locate Podman Engine",id:"unable-to-locate-podman-engine",level:3},{value:"Issue:",id:"issue",level:4},{value:"Explanation:",id:"explanation",level:4},{value:"Solution:",id:"solution",level:4},{value:"Unable to see information about active containers",id:"unable-to-see-information-about-active-containers",level:3},{value:"Issue:",id:"issue-1",level:4},{value:"Solution:",id:"solution-1",level:4},{value:"Unable to set custom binary path for Podman on macOS",id:"unable-to-set-custom-binary-path-for-podman-on-macos",level:3},{value:"Issue:",id:"issue-2",level:4},{value:"Solution:",id:"solution-2",level:4},{value:"Warning about Docker compatibility mode",id:"warning-about-docker-compatibility-mode",level:3},{value:"Issue:",id:"issue-3",level:4},{value:"Solution:",id:"solution-3",level:4},{value:"Code Ready Containers",id:"code-ready-containers",level:2},{value:"Other Issues",id:"other-issues",level:2},{value:"Fixing corrupted Podman Machine in Windows",id:"fixing-corrupted-podman-machine-in-windows",level:3},{value:"Podman machine on Apple Silicon",id:"podman-machine-on-apple-silicon",level:3},{value:"Issue",id:"issue-4",level:4},{value:"Explanation",id:"explanation-1",level:4},{value:"Solution",id:"solution-4",level:4}],m={toc:p};function d(e){let{components:n,...i}=e;return(0,o.kt)("wrapper",(0,a.Z)({},m,i,{components:n,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"troubleshooting"},"Troubleshooting"),(0,o.kt)("p",null,"If you cannot find your issue here or in the documentation, please fill an issue on our ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman-desktop/issues"},"repository"),". You can also explore the ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman-desktop/discussions"},"discussions")," and do a search on similar issues on the ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman-desktop/issues"},"repository"),"."),(0,o.kt)("h2",{id:"podman-issues"},"Podman Issues"),(0,o.kt)("h3",{id:"unable-to-see-any-image-or-container-after-downloading-podman-desktop"},"Unable to see any image or container after downloading Podman Desktop"),(0,o.kt)("h4",{id:"system-requirements"},"System Requirements"),(0,o.kt)("p",null,"The tool connects to Podman using the socket on the host on macOS and on a named pipe on Windows. This is available only on podman 4.0.2+\nSo, please check your version and update."),(0,o.kt)("p",null,"On Windows, the named pipe is ",(0,o.kt)("inlineCode",{parentName:"p"},"//./pipe/docker_engine")," when Docker Desktop is not installed. It will be solved by ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman/issues/13502"},"https://github.com/containers/podman/issues/13502")," / ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman/pull/13655"},"https://github.com/containers/podman/pull/13655"),". During that time, you may start Docker Desktop so the named pipe is the one expected."),(0,o.kt)("h4",{id:"check-connection"},"Check connection"),(0,o.kt)("p",null,"Check at least a podman machine is running on Windows & macOS:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"podman machine list\n")),(0,o.kt)("p",null,"And check a connection can be made with the CLI"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},'$ podman run quay.io/podman/hello\n!... Hello Podman World ...!\n\n .--"--.\n / - - \\\n / (O) (O) \\\n ~~~| -=(,Y,)=- |\n .---. /` \\ |~~\n ~/ o o \\~~~~.----. ~~\n | =(X)= |~ / (O (O) \\\n ~~~~~~~ ~| =(Y_)=- |\n ~~~~ ~~~| U |~~\n\nProject: https://github.com/containers/podman\nWebsite: https://podman.io\nDocuments: https://docs.podman.io\nTwitter: @Podman_io\n')),(0,o.kt)("h3",{id:"unable-to-locate-podman-engine"},"Unable to locate Podman Engine"),(0,o.kt)("h4",{id:"issue"},"Issue:"),(0,o.kt)("p",null,"Despite having Podman Engine installed, you may receive an error as follows -\n",(0,o.kt)("inlineCode",{parentName:"p"},"Error: No such keg: /usr/local/Cellar/podman"),"\nor any similar error denoting that Podman Engine does not exist. "),(0,o.kt)("h4",{id:"explanation"},"Explanation:"),(0,o.kt)("p",null,"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 ",(0,o.kt)("inlineCode",{parentName:"p"},"/opt/podman")," whereas Homebrew uses the path ",(0,o.kt)("inlineCode",{parentName:"p"},"/usr/local")," for macOS Intel, ",(0,o.kt)("inlineCode",{parentName:"p"},"/opt/homebrew")," for Apple Silicon and ",(0,o.kt)("inlineCode",{parentName:"p"},"/home/linuxbrew/.linuxbrew")," for Linux."),(0,o.kt)("h4",{id:"solution"},"Solution:"),(0,o.kt)("p",null,"To check where exactly is your Podman Engine installed, run the command-"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"which podman\n")),(0,o.kt)("p",null,"This returns the path where the Podman Engine would be installed. This would help determine further action. "),(0,o.kt)("p",null,"For example, if you\u2019re looking to completely uninstall Podman Engine from your system for a fresh installation, running ",(0,o.kt)("inlineCode",{parentName:"p"},"which podman")," returns the exact path where Podman still exists. This could be the path where Podman Installer stores Podman Engine i.e. ",(0,o.kt)("inlineCode",{parentName:"p"},"/opt/podman"),". Once you know the path, simply run-"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"sudo rm -rf /opt/podman\n")),(0,o.kt)("p",null,"Or "),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"sudo rm -rf path-where-podman-exists\n")),(0,o.kt)("p",null,"Here, you would replace ",(0,o.kt)("inlineCode",{parentName:"p"},"path-where-podman-exists")," with the output of ",(0,o.kt)("inlineCode",{parentName:"p"},"which podman"),"."),(0,o.kt)("p",null,"You can now proceed for a fresh installation of Podman Desktop"),(0,o.kt)("h3",{id:"unable-to-see-information-about-active-containers"},"Unable to see information about active containers"),(0,o.kt)("h4",{id:"issue-1"},"Issue:"),(0,o.kt)("p",null,'In this scenario, the screen may be displaying "No Containers" as shown below despite active containers runnning in the background.\n',(0,o.kt)("img",{alt:"img",src:t(9590).Z,width:"2880",height:"1800"})),(0,o.kt)("h4",{id:"solution-1"},"Solution:"),(0,o.kt)("p",null,"There are three ways to work this out."),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"To solve this issue, open the Terminal and run the following commands- ")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"podman machine stop\n")),(0,o.kt)("p",null,"and then,"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"podman machine start\n")),(0,o.kt)("ol",{start:2},(0,o.kt)("li",{parentName:"ol"},"If this does not work for you, you may proceed with the following commands-")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"podman machine rm\n")),(0,o.kt)("p",null,"and then,"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"podman machine init\n")),(0,o.kt)("ol",{start:3},(0,o.kt)("li",{parentName:"ol"},"If both of the abovementioned steps don't work for you, run the following commands-")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"rm -rf ~/.local/share/containers/podman\n")),(0,o.kt)("p",null,"and then,"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"rm -rf ~/.config/containers/\n")),(0,o.kt)("p",null,"After this, you can start off again by initializing a new Podman Machine and loading up the containers."),(0,o.kt)("h3",{id:"unable-to-set-custom-binary-path-for-podman-on-macos"},"Unable to set custom binary path for Podman on macOS"),(0,o.kt)("h4",{id:"issue-2"},"Issue:"),(0,o.kt)("p",null,"When setting a custom binary path (under Preferences -> Custom binary path), Podman is unable to find ",(0,o.kt)("inlineCode",{parentName:"p"},"gvproxy")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"podman-mac-helper"),":"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},'Error: unable to start host networking: "could not find \\"gvproxy\\" in one of [/usr/local/opt/podman/libexec /opt/homebrew/bin /opt/homebrew/opt/podman/libexec /usr/local/bin /usr/local/libexec/podman /usr/local/lib/podman /usr/libexec/podman /usr/lib/podman $BINDIR/../libexec/podman]. To resolve this error, set the helper_binaries_dir key in the `[engine]` section of containers.conf to the directory containing your helper binaries."\n')),(0,o.kt)("h4",{id:"solution-2"},"Solution:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Download ",(0,o.kt)("inlineCode",{parentName:"li"},"gvproxy")," from the ",(0,o.kt)("a",{parentName:"li",href:"https://github.com/containers/gvisor-tap-vsock/releases"},"gvisor-tap-vsock release page"),"."),(0,o.kt)("li",{parentName:"ol"},"Build the ",(0,o.kt)("inlineCode",{parentName:"li"},"podman-mac-helper")," from the source code on the ",(0,o.kt)("a",{parentName:"li",href:"https://github.com/containers/podman/tree/main/cmd/podman-mac-helper"},"Podman GitHub page"),"."),(0,o.kt)("li",{parentName:"ol"},"Add the ",(0,o.kt)("inlineCode",{parentName:"li"},"helpers_binaries_dir")," entry to ",(0,o.kt)("inlineCode",{parentName:"li"},"~/.config/containers/conf"),":")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},'[containers]\n\nhelper_binaries_dir=["/Users/user/example_directory"]\n')),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"NOTE"),": A pre-built binary will be added to the Podman release page so you do not have to build ",(0,o.kt)("inlineCode",{parentName:"p"},"podman-mac-helper"),". An ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman/issues/16746"},"issue is open for this"),"."),(0,o.kt)("h3",{id:"warning-about-docker-compatibility-mode"},"Warning about Docker compatibility mode"),(0,o.kt)("h4",{id:"issue-3"},"Issue:"),(0,o.kt)("p",null,"When running the Podman provider, a warning shows regarding Docker compatibility mode on the dashboard:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"\u26a0\ufe0f 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.\n")),(0,o.kt)("p",null,"This may appear when either:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"The Docker socket is not mounted correctly"),(0,o.kt)("li",{parentName:"ul"},"Docker Desktop is also being ran at the same time ")),(0,o.kt)("h4",{id:"solution-3"},"Solution:"),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"On macOS:")),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Stop Docker Desktop (if install)"),(0,o.kt)("li",{parentName:"ol"},"Run the ",(0,o.kt)("inlineCode",{parentName:"li"},"podman-mac-helper")," binary:")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"sudo podman-mac-helper install\n")),(0,o.kt)("ol",{start:3},(0,o.kt)("li",{parentName:"ol"},"Restart the Podman machine (the default Docker socket path will be recreated and Podman will emulate it)")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"On Linux / Windows:")),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Stop Docker Desktop (if installed)"),(0,o.kt)("li",{parentName:"ol"},"Restart the Podman machine (the default Docker socket path will be recreated and Podman will emulate it)")),(0,o.kt)("p",null,(0,o.kt)("em",{parentName:"p"},"Note:")," If Docker Desktop is started again, it will automatically re-alias the default Docker socket location and the Podman compatibilty warning will re-appear."),(0,o.kt)("h2",{id:"code-ready-containers"},"Code Ready Containers"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Check that podman preset is defined. (",(0,o.kt)("inlineCode",{parentName:"li"},"crc config get preset"),")"),(0,o.kt)("li",{parentName:"ul"},"Check that ",(0,o.kt)("inlineCode",{parentName:"li"},"crc")," binary is available in the user PATH (",(0,o.kt)("inlineCode",{parentName:"li"},"/usr/local/bin/crc"),")"),(0,o.kt)("li",{parentName:"ul"},"Check that ",(0,o.kt)("inlineCode",{parentName:"li"},"crc setup --check-only")," is running without errors.")),(0,o.kt)("h2",{id:"other-issues"},"Other Issues"),(0,o.kt)("h3",{id:"fixing-corrupted-podman-machine-in-windows"},"Fixing corrupted Podman Machine in Windows"),(0,o.kt)("p",null,"If at all you are not able to stop your Podman Machine, you will find such an error in the Logs-\n",(0,o.kt)("inlineCode",{parentName:"p"},"Error: Error stopping sysd: exit status 1")),(0,o.kt)("p",null,"It is highly unlikely that you may be stuck in such a situation but if you are, here's a quick fix for it."),(0,o.kt)("p",null,"Assuming the name of the Podman Machine to be ",(0,o.kt)("inlineCode",{parentName:"p"},"my-machine"),", run the following commands in the terminal:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"wsl --list\n")),(0,o.kt)("p",null,"This shall display a list of active distributions i.e. ",(0,o.kt)("inlineCode",{parentName:"p"},"my-machine")," in this case."),(0,o.kt)("p",null,"Then,"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"wsl --unregister my-machine\n")),(0,o.kt)("p",null,"(Replacing ",(0,o.kt)("inlineCode",{parentName:"p"},"my-machine")," with the name that is displayed under ",(0,o.kt)("inlineCode",{parentName:"p"},"wsl --list")," for your Podman Machine)"),(0,o.kt)("p",null,"This will stop the Podman Machine for you."),(0,o.kt)("h3",{id:"podman-machine-on-apple-silicon"},"Podman machine on Apple Silicon"),(0,o.kt)("h4",{id:"issue-4"},"Issue"),(0,o.kt)("p",null,"If you are using an Apple Silicon and brew, you might encounter the following error when starting podman from podman desktop"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"Error: qemu exited unexpectedly with exit code 1, stderr: qemu-system-x86_64: invalid accelerator hvf\nqemu-system-x86_64: falling back to tcg\nqemu-system-x86_64: unable to find CPU model 'host'\n")),(0,o.kt)("h4",{id:"explanation-1"},"Explanation"),(0,o.kt)("p",null,"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."),(0,o.kt)("h4",{id:"solution-4"},"Solution"),(0,o.kt)("p",null,"You can"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Uninstall podman machine on your x86_64 brew install (e.g. from a terminal running under rosetta) ",(0,o.kt)("inlineCode",{parentName:"li"},"brew uninstall podman-machine")),(0,o.kt)("li",{parentName:"ol"},"or uninstall brew x86_64 as most brew receipe have now arm64 support: follow ",(0,o.kt)("a",{parentName:"li",href:"https://github.com/homebrew/install#uninstall-homebrew"},"these instructions")," from a terminal running under rosetta")),(0,o.kt)("p",null,"Then run a terminal in native mode (default) and install podman machine ",(0,o.kt)("inlineCode",{parentName:"p"},"brew install podman-machine")),(0,o.kt)("p",null,"Finally clean the poddman machine VMs that had been previously created, a create new ones."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"podman machine rm podman-machine-default\npodman machine init\n")),(0,o.kt)("p",null,"You should be a happy camper from here."))}d.isMDXComponent=!0},9590:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/containers_error-2ddfc1139b9345ae8d06c597551608ad.png"}}]); \ No newline at end of file diff --git a/assets/js/9d9f8394.bee25194.js b/assets/js/9d9f8394.bee25194.js new file mode 100644 index 00000000000..ff9ed15c5ba --- /dev/null +++ b/assets/js/9d9f8394.bee25194.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[9360],{5318:(e,n,t)=>{t.d(n,{Zo:()=>m,kt:()=>c});var a=t(7378);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function l(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var s=a.createContext({}),p=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):l(l({},n),e)),t},m=function(e){var n=p(e.components);return a.createElement(s.Provider,{value:n},e.children)},d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},u=a.forwardRef((function(e,n){var t=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,m=r(e,["components","mdxType","originalType","parentName"]),u=p(t),c=o,h=u["".concat(s,".").concat(c)]||u[c]||d[c]||i;return t?a.createElement(h,l(l({ref:n},m),{},{components:t})):a.createElement(h,l({ref:n},m))}));function c(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var i=t.length,l=new Array(i);l[0]=u;var r={};for(var s in n)hasOwnProperty.call(n,s)&&(r[s]=n[s]);r.originalType=e,r.mdxType="string"==typeof e?e:o,l[1]=r;for(var p=2;p{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>p});var a=t(2685),o=(t(7378),t(5318));const i={sidebar_position:4},l="Troubleshooting",r={unversionedId:"troubleshooting",id:"troubleshooting",title:"Troubleshooting",description:"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.",source:"@site/docs/troubleshooting.md",sourceDirName:".",slug:"/troubleshooting",permalink:"/docs/troubleshooting",draft:!1,editUrl:"https://github.com/containers/podman-desktop/tree/main/website/docs/troubleshooting.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Using the `podman-mac-helper` tool on macOS",permalink:"/docs/getting-started/using-podman-mac-helper-to-migrate-from-docker-to-podman-on-macos.md"},next:{title:"Using Compose with Podman Desktop",permalink:"/docs/podman-compose"}},s={},p=[{value:"Podman Issues",id:"podman-issues",level:2},{value:"Unable to see any image or container after downloading Podman Desktop",id:"unable-to-see-any-image-or-container-after-downloading-podman-desktop",level:3},{value:"System Requirements",id:"system-requirements",level:4},{value:"Check connection",id:"check-connection",level:4},{value:"Unable to locate Podman Engine",id:"unable-to-locate-podman-engine",level:3},{value:"Issue:",id:"issue",level:4},{value:"Explanation:",id:"explanation",level:4},{value:"Solution:",id:"solution",level:4},{value:"Unable to see information about active containers",id:"unable-to-see-information-about-active-containers",level:3},{value:"Issue:",id:"issue-1",level:4},{value:"Solution:",id:"solution-1",level:4},{value:"Unable to set custom binary path for Podman on macOS",id:"unable-to-set-custom-binary-path-for-podman-on-macos",level:3},{value:"Issue:",id:"issue-2",level:4},{value:"Solution:",id:"solution-2",level:4},{value:"Warning about Docker compatibility mode",id:"warning-about-docker-compatibility-mode",level:3},{value:"Issue:",id:"issue-3",level:4},{value:"Solution:",id:"solution-3",level:4},{value:"Code Ready Containers",id:"code-ready-containers",level:2},{value:"Other Issues",id:"other-issues",level:2},{value:"Fixing corrupted Podman Machine in Windows",id:"fixing-corrupted-podman-machine-in-windows",level:3},{value:"Podman machine on Apple Silicon",id:"podman-machine-on-apple-silicon",level:3},{value:"Issue",id:"issue-4",level:4},{value:"Explanation",id:"explanation-1",level:4},{value:"Solution",id:"solution-4",level:4}],m={toc:p};function d(e){let{components:n,...i}=e;return(0,o.kt)("wrapper",(0,a.Z)({},m,i,{components:n,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"troubleshooting"},"Troubleshooting"),(0,o.kt)("p",null,"If you cannot find your issue here or in the documentation, please fill an issue on our ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman-desktop/issues"},"repository"),". You can also explore the ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman-desktop/discussions"},"discussions")," and do a search on similar issues on the ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman-desktop/issues"},"repository"),"."),(0,o.kt)("h2",{id:"podman-issues"},"Podman Issues"),(0,o.kt)("h3",{id:"unable-to-see-any-image-or-container-after-downloading-podman-desktop"},"Unable to see any image or container after downloading Podman Desktop"),(0,o.kt)("h4",{id:"system-requirements"},"System Requirements"),(0,o.kt)("p",null,"The tool connects to Podman using the socket on the host on macOS and on a named pipe on Windows.\nThis is available only on Podman 4.0.2+\nSo, please check your version and update."),(0,o.kt)("p",null,"On Windows, the named pipe is ",(0,o.kt)("inlineCode",{parentName:"p"},"//./pipe/docker_engine")," when Docker Desktop is not installed. It will be solved by ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman/issues/13502"},"https://github.com/containers/podman/issues/13502")," / ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman/pull/13655"},"https://github.com/containers/podman/pull/13655"),". During that time, you may start Docker Desktop so the named pipe is the one expected."),(0,o.kt)("h4",{id:"check-connection"},"Check connection"),(0,o.kt)("p",null,"Check at least a Podman machine is running on Windows & macOS:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"podman machine list\n")),(0,o.kt)("p",null,"And check a connection can be made with the CLI"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},'$ podman run quay.io/podman/hello\n!... Hello Podman World ...!\n\n .--"--.\n / - - \\\n / (O) (O) \\\n ~~~| -=(,Y,)=- |\n .---. /` \\ |~~\n ~/ o o \\~~~~.----. ~~\n | =(X)= |~ / (O (O) \\\n ~~~~~~~ ~| =(Y_)=- |\n ~~~~ ~~~| U |~~\n\nProject: https://github.com/containers/podman\nWebsite: https://podman.io\nDocuments: https://docs.podman.io\nTwitter: @Podman_io\n')),(0,o.kt)("h3",{id:"unable-to-locate-podman-engine"},"Unable to locate Podman Engine"),(0,o.kt)("h4",{id:"issue"},"Issue:"),(0,o.kt)("p",null,"Despite having Podman Engine installed, you may receive an error as follows -\n",(0,o.kt)("inlineCode",{parentName:"p"},"Error: No such keg: /usr/local/Cellar/podman"),"\nor any similar error denoting that Podman Engine does not exist. "),(0,o.kt)("h4",{id:"explanation"},"Explanation:"),(0,o.kt)("p",null,"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 ",(0,o.kt)("inlineCode",{parentName:"p"},"/opt/podman")," whereas Homebrew uses the path ",(0,o.kt)("inlineCode",{parentName:"p"},"/usr/local")," for macOS Intel, ",(0,o.kt)("inlineCode",{parentName:"p"},"/opt/homebrew")," for Apple Silicon and ",(0,o.kt)("inlineCode",{parentName:"p"},"/home/linuxbrew/.linuxbrew")," for Linux."),(0,o.kt)("h4",{id:"solution"},"Solution:"),(0,o.kt)("p",null,"To check where exactly is your Podman Engine installed, run the command-"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"which podman\n")),(0,o.kt)("p",null,"This returns the path where the Podman Engine would be installed. This would help determine further action. "),(0,o.kt)("p",null,"For example, if you\u2019re looking to completely uninstall Podman Engine from your system for a fresh installation, running ",(0,o.kt)("inlineCode",{parentName:"p"},"which podman")," returns the exact path where Podman still exists. This could be the path where Podman Installer stores Podman Engine i.e. ",(0,o.kt)("inlineCode",{parentName:"p"},"/opt/podman"),". Once you know the path, simply run-"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"sudo rm -rf /opt/podman\n")),(0,o.kt)("p",null,"Or "),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"sudo rm -rf path-where-podman-exists\n")),(0,o.kt)("p",null,"Here, you would replace ",(0,o.kt)("inlineCode",{parentName:"p"},"path-where-podman-exists")," with the output of ",(0,o.kt)("inlineCode",{parentName:"p"},"which podman"),"."),(0,o.kt)("p",null,"You can now proceed for a fresh installation of Podman Desktop"),(0,o.kt)("h3",{id:"unable-to-see-information-about-active-containers"},"Unable to see information about active containers"),(0,o.kt)("h4",{id:"issue-1"},"Issue:"),(0,o.kt)("p",null,'In this scenario, the screen may be displaying "No Containers" as shown below despite active containers runnning in the background.\n',(0,o.kt)("img",{alt:"img",src:t(9590).Z,width:"2880",height:"1800"})),(0,o.kt)("h4",{id:"solution-1"},"Solution:"),(0,o.kt)("p",null,"There are three ways to work this out."),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"To solve this issue, open the Terminal and run the following commands- ")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"podman machine stop\n")),(0,o.kt)("p",null,"and then,"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"podman machine start\n")),(0,o.kt)("ol",{start:2},(0,o.kt)("li",{parentName:"ol"},"If this does not work for you, you may proceed with the following commands-")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"podman machine rm\n")),(0,o.kt)("p",null,"and then,"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"podman machine init\n")),(0,o.kt)("ol",{start:3},(0,o.kt)("li",{parentName:"ol"},"If both of the abovementioned steps don't work for you, run the following commands-")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"rm -rf ~/.local/share/containers/podman\n")),(0,o.kt)("p",null,"and then,"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"rm -rf ~/.config/containers/\n")),(0,o.kt)("p",null,"After this, you can start off again by initializing a new Podman Machine and loading up the containers."),(0,o.kt)("h3",{id:"unable-to-set-custom-binary-path-for-podman-on-macos"},"Unable to set custom binary path for Podman on macOS"),(0,o.kt)("h4",{id:"issue-2"},"Issue:"),(0,o.kt)("p",null,"When setting a custom binary path (under Preferences -> Custom binary path), Podman is unable to find ",(0,o.kt)("inlineCode",{parentName:"p"},"gvproxy")," and ",(0,o.kt)("inlineCode",{parentName:"p"},"podman-mac-helper"),":"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},'Error: unable to start host networking: "could not find \\"gvproxy\\" in one of [/usr/local/opt/podman/libexec /opt/homebrew/bin /opt/homebrew/opt/podman/libexec /usr/local/bin /usr/local/libexec/podman /usr/local/lib/podman /usr/libexec/podman /usr/lib/podman $BINDIR/../libexec/podman]. To resolve this error, set the helper_binaries_dir key in the `[engine]` section of containers.conf to the directory containing your helper binaries."\n')),(0,o.kt)("h4",{id:"solution-2"},"Solution:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Download ",(0,o.kt)("inlineCode",{parentName:"li"},"gvproxy")," from the ",(0,o.kt)("a",{parentName:"li",href:"https://github.com/containers/gvisor-tap-vsock/releases"},"gvisor-tap-vsock release page"),"."),(0,o.kt)("li",{parentName:"ol"},"Build the ",(0,o.kt)("inlineCode",{parentName:"li"},"podman-mac-helper")," from the source code on the ",(0,o.kt)("a",{parentName:"li",href:"https://github.com/containers/podman/tree/main/cmd/podman-mac-helper"},"Podman GitHub page"),"."),(0,o.kt)("li",{parentName:"ol"},"Add the ",(0,o.kt)("inlineCode",{parentName:"li"},"helpers_binaries_dir")," entry to ",(0,o.kt)("inlineCode",{parentName:"li"},"~/.config/containers/conf"),":")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},'[containers]\n\nhelper_binaries_dir=["/Users/user/example_directory"]\n')),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"NOTE"),": A pre-built binary will be added to the Podman release page so you do not have to build ",(0,o.kt)("inlineCode",{parentName:"p"},"podman-mac-helper"),". An ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/containers/podman/issues/16746"},"issue is open for this"),"."),(0,o.kt)("h3",{id:"warning-about-docker-compatibility-mode"},"Warning about Docker compatibility mode"),(0,o.kt)("h4",{id:"issue-3"},"Issue:"),(0,o.kt)("p",null,"When running the Podman provider, a warning shows regarding Docker compatibility mode on the dashboard:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"\u26a0\ufe0f 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.\n")),(0,o.kt)("p",null,"This may appear when either:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"The Docker socket is not mounted correctly"),(0,o.kt)("li",{parentName:"ul"},"Docker Desktop is also being ran at the same time ")),(0,o.kt)("h4",{id:"solution-3"},"Solution:"),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"On macOS:")),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Stop Docker Desktop (if install)"),(0,o.kt)("li",{parentName:"ol"},"Run the ",(0,o.kt)("inlineCode",{parentName:"li"},"podman-mac-helper")," binary:")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"sudo podman-mac-helper install\n")),(0,o.kt)("ol",{start:3},(0,o.kt)("li",{parentName:"ol"},"Restart the Podman machine (the default Docker socket path will be recreated and Podman will emulate it)")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"On Linux / Windows:")),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Stop Docker Desktop (if installed)"),(0,o.kt)("li",{parentName:"ol"},"Restart the Podman machine (the default Docker socket path will be recreated and Podman will emulate it)")),(0,o.kt)("p",null,(0,o.kt)("em",{parentName:"p"},"Note:")," If Docker Desktop is started again, it will automatically re-alias the default Docker socket location and the Podman compatibilty warning will re-appear."),(0,o.kt)("h2",{id:"code-ready-containers"},"Code Ready Containers"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Check that Podman preset is defined. (",(0,o.kt)("inlineCode",{parentName:"li"},"crc config get preset"),")"),(0,o.kt)("li",{parentName:"ul"},"Check that ",(0,o.kt)("inlineCode",{parentName:"li"},"crc")," binary is available in the user PATH (",(0,o.kt)("inlineCode",{parentName:"li"},"/usr/local/bin/crc"),")"),(0,o.kt)("li",{parentName:"ul"},"Check that ",(0,o.kt)("inlineCode",{parentName:"li"},"crc setup --check-only")," is running without errors.")),(0,o.kt)("h2",{id:"other-issues"},"Other Issues"),(0,o.kt)("h3",{id:"fixing-corrupted-podman-machine-in-windows"},"Fixing corrupted Podman Machine in Windows"),(0,o.kt)("p",null,"If at all you are not able to stop your Podman Machine, you will find such an error in the Logs-\n",(0,o.kt)("inlineCode",{parentName:"p"},"Error: Error stopping sysd: exit status 1")),(0,o.kt)("p",null,"It is highly unlikely that you may be stuck in such a situation but if you are, here's a quick fix for it."),(0,o.kt)("p",null,"Assuming the name of the Podman Machine to be ",(0,o.kt)("inlineCode",{parentName:"p"},"my-machine"),", run the following commands in the terminal:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"wsl --list\n")),(0,o.kt)("p",null,"This shall display a list of active distributions i.e. ",(0,o.kt)("inlineCode",{parentName:"p"},"my-machine")," in this case."),(0,o.kt)("p",null,"Then,"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-sh"},"wsl --unregister my-machine\n")),(0,o.kt)("p",null,"(Replacing ",(0,o.kt)("inlineCode",{parentName:"p"},"my-machine")," with the name that is displayed under ",(0,o.kt)("inlineCode",{parentName:"p"},"wsl --list")," for your Podman Machine)"),(0,o.kt)("p",null,"This will stop the Podman Machine for you."),(0,o.kt)("h3",{id:"podman-machine-on-apple-silicon"},"Podman machine on Apple Silicon"),(0,o.kt)("h4",{id:"issue-4"},"Issue"),(0,o.kt)("p",null,"If you are using an Apple Silicon and brew, you might encounter the following error when starting Podman from Podman Desktop"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"Error: qemu exited unexpectedly with exit code 1, stderr: qemu-system-x86_64: invalid accelerator hvf\nqemu-system-x86_64: falling back to tcg\nqemu-system-x86_64: unable to find CPU model 'host'\n")),(0,o.kt)("h4",{id:"explanation-1"},"Explanation"),(0,o.kt)("p",null,"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."),(0,o.kt)("h4",{id:"solution-4"},"Solution"),(0,o.kt)("p",null,"You can"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Uninstall Podman machine on your x86_64 brew install (e.g. from a terminal running under rosetta) ",(0,o.kt)("inlineCode",{parentName:"li"},"brew uninstall podman-machine")),(0,o.kt)("li",{parentName:"ol"},"or uninstall brew x86_64 as most brew receipe have now arm64 support: follow ",(0,o.kt)("a",{parentName:"li",href:"https://github.com/homebrew/install#uninstall-homebrew"},"these instructions")," from a terminal running under rosetta")),(0,o.kt)("p",null,"Then run a terminal in native mode (default) and install Podman machine ",(0,o.kt)("inlineCode",{parentName:"p"},"brew install podman-machine")),(0,o.kt)("p",null,"Finally clean the poddman machine VMs that had been previously created, a create new ones."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"podman machine rm podman-machine-default\npodman machine init\n")),(0,o.kt)("p",null,"You should be a happy camper from here."))}d.isMDXComponent=!0},9590:(e,n,t)=>{t.d(n,{Z:()=>a});const a=t.p+"assets/images/containers_error-2ddfc1139b9345ae8d06c597551608ad.png"}}]); \ No newline at end of file diff --git a/assets/js/cc591f25.88c755cd.js b/assets/js/cc591f25.daa612f5.js similarity index 92% rename from assets/js/cc591f25.88c755cd.js rename to assets/js/cc591f25.daa612f5.js index d19d9636762..946ebf3c495 100644 --- a/assets/js/cc591f25.88c755cd.js +++ b/assets/js/cc591f25.daa612f5.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6778],{5318:(e,o,t)=>{t.d(o,{Zo:()=>m,kt:()=>u});var n=t(7378);function a(e,o,t){return o in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}function i(e,o){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);o&&(n=n.filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable}))),t.push.apply(t,n)}return t}function r(e){for(var o=1;o=0||(a[t]=e[t]);return a}(e,o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var p=n.createContext({}),l=function(e){var o=n.useContext(p),t=o;return e&&(t="function"==typeof e?e(o):r(r({},o),e)),t},m=function(e){var o=l(e.components);return n.createElement(p.Provider,{value:o},e.children)},c={inlineCode:"code",wrapper:function(e){var o=e.children;return n.createElement(n.Fragment,{},o)}},d=n.forwardRef((function(e,o){var t=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),d=l(t),u=a,h=d["".concat(p,".").concat(u)]||d[u]||c[u]||i;return t?n.createElement(h,r(r({ref:o},m),{},{components:t})):n.createElement(h,r({ref:o},m))}));function u(e,o){var t=arguments,a=o&&o.mdxType;if("string"==typeof e||a){var i=t.length,r=new Array(i);r[0]=d;var s={};for(var p in o)hasOwnProperty.call(o,p)&&(s[p]=o[p]);s.originalType=e,s.mdxType="string"==typeof e?e:a,r[1]=s;for(var l=2;l{t.r(o),t.d(o,{assets:()=>p,contentTitle:()=>r,default:()=>c,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var n=t(2685),a=(t(7378),t(5318));const i={title:"Using Compose with Podman Desktop"},r=void 0,s={unversionedId:"podman-compose",id:"podman-compose",title:"Using Compose with Podman Desktop",description:"Introduction",source:"@site/docs/podman-compose.md",sourceDirName:".",slug:"/podman-compose",permalink:"/docs/podman-compose",draft:!1,editUrl:"https://github.com/containers/podman-desktop/tree/main/website/docs/podman-compose.md",tags:[],version:"current",frontMatter:{title:"Using Compose with Podman Desktop"},sidebar:"tutorialSidebar",previous:{title:"Troubleshooting",permalink:"/docs/troubleshooting"}},p={},l=[{value:"Introduction",id:"introduction",level:2},{value:"Requirements",id:"requirements",level:2},{value:"1. Podman Desktop",id:"1-podman-desktop",level:3},{value:"2. Podman Compose",id:"2-podman-compose",level:3},{value:"Get Started",id:"get-started",level:2},{value:"1. Install Podman Compose",id:"1-install-podman-compose",level:3},{value:"For macOS",id:"for-macos",level:4},{value:"For Windows and Linux",id:"for-windows-and-linux",level:4},{value:"2. Using Podman Compose to run multiple containers",id:"2-using-podman-compose-to-run-multiple-containers",level:3},{value:"3. Manage Compose with Podman Desktop",id:"3-manage-compose-with-podman-desktop",level:3},{value:"Conclusion",id:"conclusion",level:2}],m={toc:l};function c(e){let{components:o,...i}=e;return(0,a.kt)("wrapper",(0,n.Z)({},m,i,{components:o,mdxType:"MDXLayout"}),(0,a.kt)("h2",{id:"introduction"},"Introduction"),(0,a.kt)("p",null,"Podman Desktop is aimed at providing an amazing graphical experience of managing your containers. Developers who have worked on containers may also be fans of the ",(0,a.kt)("a",{parentName:"p",href:"https://compose-spec.io/"},"Compose Spec"),"."),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"https://github.com/containers/podman-compose#readme"},"Podman Compose")," is a community-driven tool that allows developers to run multiple containers at the same time and facilitate communication between them. Podman Compose requires a ",(0,a.kt)("a",{parentName:"p",href:"https://compose-spec.io/"},"Compose YAML")," file with definitions about the containers that need to communicate."),(0,a.kt)("p",null,"If you are new to writing ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/compose-spec/compose-spec/blob/master/spec.md#compose-file"},"Compose files")," or ",(0,a.kt)("a",{parentName:"p",href:"https://compose-spec.io/"},"Compose Spec"),", check out ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/compose-spec/compose-spec/blob/master/spec.md"},"this guide")," for more information. "),(0,a.kt)("h2",{id:"requirements"},"Requirements"),(0,a.kt)("h3",{id:"1-podman-desktop"},"1. Podman Desktop"),(0,a.kt)("p",null,"Get the latest version of Podman Desktop by clicking ",(0,a.kt)("a",{parentName:"p",href:"/downloads"},"here"),". Refer to the ",(0,a.kt)("a",{parentName:"p",href:"/docs/installation"},"installation guide")," for more information."),(0,a.kt)("h3",{id:"2-podman-compose"},"2. Podman Compose"),(0,a.kt)("h2",{id:"get-started"},"Get Started"),(0,a.kt)("p",null,"In this tutorial, we will learn about working with containers on Podman Desktop generated using ",(0,a.kt)("inlineCode",{parentName:"p"},"podman-compose"),". You can find more information about Podman Compose ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/containers/podman-compose/blob/devel/README.md"},"here"),". "),(0,a.kt)("h3",{id:"1-install-podman-compose"},"1. Install Podman Compose"),(0,a.kt)("h4",{id:"for-macos"},"For macOS"),(0,a.kt)("p",null,"There are many ways to install ",(0,a.kt)("inlineCode",{parentName:"p"},"podman-compose")," on your macOS system. One of the easier ways is to use Homebrew. To install ",(0,a.kt)("inlineCode",{parentName:"p"},"podman-compose"),", simply run the following command"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-sh"},"brew install podman-compose\n")),(0,a.kt)("p",null,"To ensure ",(0,a.kt)("inlineCode",{parentName:"p"},"podman-compose")," is properly installed, run the command: "),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-sh"},"podman-compose\n")),(0,a.kt)("p",null,"and it will return more information about its usage."),(0,a.kt)("h4",{id:"for-windows-and-linux"},"For Windows and Linux"),(0,a.kt)("p",null,"Refer the official ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/containers/podman-compose#installation"},"installation guide")," to get the latest version of Podman Compose on your Windows or Linux system. "),(0,a.kt)("h3",{id:"2-using-podman-compose-to-run-multiple-containers"},"2. Using Podman Compose to run multiple containers"),(0,a.kt)("p",null,"For this tutorial, we will use the ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/docker/awesome-compose/tree/master/flask-redis"},"flask-redis project")," from the ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/docker/awesome-compose"},"awesome-compose repository"),". This repository consists of many sample projects for you to get started with Podman Compose. "),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Open your Terminal window"),(0,a.kt)("li",{parentName:"ol"},"Change to the project directory ")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-sh"},"cd flask-redis\n")),(0,a.kt)("ol",{start:3},(0,a.kt)("li",{parentName:"ol"},"Run the following command ")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-sh"},"podman-compose -f compose.yaml up -d\n")),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"compose.yaml")," file contains definitions for multiple containers within the ",(0,a.kt)("inlineCode",{parentName:"p"},"flask-redis")," project."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"img1",src:t(7864).Z,width:"1282",height:"882"})),(0,a.kt)("h3",{id:"3-manage-compose-with-podman-desktop"},"3. Manage Compose with Podman Desktop"),(0,a.kt)("p",null,"In order to check if the containers are running as expected, open Podman Desktop and click on the \u2018Containers\u2019 option on the left side of the application. You will notice that the containers are bundled together under a Pod named ",(0,a.kt)("inlineCode",{parentName:"p"},"flask-redis (compose)")," in this case. Here, the compose within the bracket indicates that it is generated from a Compose YAML file. "),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"img2",src:t(9761).Z,width:"1999",height:"1103"})),(0,a.kt)("p",null,"You can further configure or work with these containers within the Podman Desktop application now that they are visible. Here, clicking on the \u2018Open Browser\u2019 button allows us to check if the application is running as expected. "),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"img3",src:t(9459).Z,width:"1999",height:"877"})),(0,a.kt)("p",null,"You can do much more such as checking logs, opening the terminal or inspecting the files for more details."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"img4",src:t(5210).Z,width:"1999",height:"1103"})),(0,a.kt)("h2",{id:"conclusion"},"Conclusion"),(0,a.kt)("p",null,"That is it. This is how you can use Podman Desktop for your containers generated through podman-compose. It will be really exciting to see you all developers leverage these compatibilities to build exciting applications using Podman Desktop!"))}c.isMDXComponent=!0},7864:(e,o,t)=>{t.d(o,{Z:()=>n});const n=t.p+"assets/images/compose_doc_image_1-79ba096000581d2067cd2fbc31c7d20f.png"},9761:(e,o,t)=>{t.d(o,{Z:()=>n});const n=t.p+"assets/images/compose_doc_image_2-fd0c6791568797c6a5670c72e53687ca.png"},9459:(e,o,t)=>{t.d(o,{Z:()=>n});const n=t.p+"assets/images/compose_doc_image_3-50808a5d4b1e003e5979c3d50a1e0e1c.png"},5210:(e,o,t)=>{t.d(o,{Z:()=>n});const n=t.p+"assets/images/compose_doc_image_4-b6ef9b2966e93143a04e6118e83d7101.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[6778],{5318:(e,o,t)=>{t.d(o,{Zo:()=>m,kt:()=>u});var n=t(7378);function a(e,o,t){return o in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}function i(e,o){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);o&&(n=n.filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable}))),t.push.apply(t,n)}return t}function r(e){for(var o=1;o=0||(a[t]=e[t]);return a}(e,o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var p=n.createContext({}),l=function(e){var o=n.useContext(p),t=o;return e&&(t="function"==typeof e?e(o):r(r({},o),e)),t},m=function(e){var o=l(e.components);return n.createElement(p.Provider,{value:o},e.children)},c={inlineCode:"code",wrapper:function(e){var o=e.children;return n.createElement(n.Fragment,{},o)}},d=n.forwardRef((function(e,o){var t=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),d=l(t),u=a,h=d["".concat(p,".").concat(u)]||d[u]||c[u]||i;return t?n.createElement(h,r(r({ref:o},m),{},{components:t})):n.createElement(h,r({ref:o},m))}));function u(e,o){var t=arguments,a=o&&o.mdxType;if("string"==typeof e||a){var i=t.length,r=new Array(i);r[0]=d;var s={};for(var p in o)hasOwnProperty.call(o,p)&&(s[p]=o[p]);s.originalType=e,s.mdxType="string"==typeof e?e:a,r[1]=s;for(var l=2;l{t.r(o),t.d(o,{assets:()=>p,contentTitle:()=>r,default:()=>c,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var n=t(2685),a=(t(7378),t(5318));const i={title:"Using Compose with Podman Desktop"},r=void 0,s={unversionedId:"podman-compose",id:"podman-compose",title:"Using Compose with Podman Desktop",description:"Introduction",source:"@site/docs/podman-compose.md",sourceDirName:".",slug:"/podman-compose",permalink:"/docs/podman-compose",draft:!1,editUrl:"https://github.com/containers/podman-desktop/tree/main/website/docs/podman-compose.md",tags:[],version:"current",frontMatter:{title:"Using Compose with Podman Desktop"},sidebar:"tutorialSidebar",previous:{title:"Troubleshooting",permalink:"/docs/troubleshooting"}},p={},l=[{value:"Introduction",id:"introduction",level:2},{value:"Requirements",id:"requirements",level:2},{value:"1. Podman Desktop",id:"1-podman-desktop",level:3},{value:"2. Podman Compose",id:"2-podman-compose",level:3},{value:"Get Started",id:"get-started",level:2},{value:"1. Install Podman Compose",id:"1-install-podman-compose",level:3},{value:"For macOS",id:"for-macos",level:4},{value:"For Windows and Linux",id:"for-windows-and-linux",level:4},{value:"2. Using Podman Compose to run multiple containers",id:"2-using-podman-compose-to-run-multiple-containers",level:3},{value:"3. Manage Compose with Podman Desktop",id:"3-manage-compose-with-podman-desktop",level:3},{value:"Conclusion",id:"conclusion",level:2}],m={toc:l};function c(e){let{components:o,...i}=e;return(0,a.kt)("wrapper",(0,n.Z)({},m,i,{components:o,mdxType:"MDXLayout"}),(0,a.kt)("h2",{id:"introduction"},"Introduction"),(0,a.kt)("p",null,"Podman Desktop is aimed at providing an amazing graphical experience of managing your containers. Developers who have worked on containers may also be fans of the ",(0,a.kt)("a",{parentName:"p",href:"https://compose-spec.io/"},"Compose Spec"),"."),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"https://github.com/containers/podman-compose#readme"},"Podman Compose")," is a community-driven tool that allows developers to run multiple containers at the same time and facilitate communication between them. Podman Compose requires a ",(0,a.kt)("a",{parentName:"p",href:"https://compose-spec.io/"},"Compose YAML")," file with definitions about the containers that need to communicate."),(0,a.kt)("p",null,"If you are new to writing ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/compose-spec/compose-spec/blob/master/spec.md#compose-file"},"Compose files")," or ",(0,a.kt)("a",{parentName:"p",href:"https://compose-spec.io/"},"Compose Spec"),", check out ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/compose-spec/compose-spec/blob/master/spec.md"},"this guide")," for more information. "),(0,a.kt)("h2",{id:"requirements"},"Requirements"),(0,a.kt)("h3",{id:"1-podman-desktop"},"1. Podman Desktop"),(0,a.kt)("p",null,"Get the latest version of Podman Desktop by clicking ",(0,a.kt)("a",{parentName:"p",href:"/downloads"},"here"),". Refer to the ",(0,a.kt)("a",{parentName:"p",href:"/docs/installation"},"installation guide")," for more information."),(0,a.kt)("h3",{id:"2-podman-compose"},"2. Podman Compose"),(0,a.kt)("h2",{id:"get-started"},"Get Started"),(0,a.kt)("p",null,"In this tutorial, we will learn about working with containers on Podman Desktop generated using ",(0,a.kt)("inlineCode",{parentName:"p"},"podman-compose"),". You can find more information about Podman Compose ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/containers/podman-compose/blob/devel/README.md"},"here"),". "),(0,a.kt)("h3",{id:"1-install-podman-compose"},"1. Install Podman Compose"),(0,a.kt)("h4",{id:"for-macos"},"For macOS"),(0,a.kt)("p",null,"There are many ways to install ",(0,a.kt)("inlineCode",{parentName:"p"},"podman-compose")," on your macOS system. One of the easier ways is to use Homebrew. To install ",(0,a.kt)("inlineCode",{parentName:"p"},"podman-compose"),", simply run the following command"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-sh"},"brew install podman-compose\n")),(0,a.kt)("p",null,"To ensure ",(0,a.kt)("inlineCode",{parentName:"p"},"podman-compose")," is properly installed, run the command: "),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-sh"},"podman-compose\n")),(0,a.kt)("p",null,"and it will return more information about its usage."),(0,a.kt)("h4",{id:"for-windows-and-linux"},"For Windows and Linux"),(0,a.kt)("p",null,"Refer the official ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/containers/podman-compose#installation"},"installation guide")," to get the latest version of Podman Compose on your Windows or Linux system. "),(0,a.kt)("h3",{id:"2-using-podman-compose-to-run-multiple-containers"},"2. Using Podman Compose to run multiple containers"),(0,a.kt)("p",null,"For this tutorial, we will use the ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/docker/awesome-compose/tree/master/flask-redis"},"flask-redis project")," from the ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/docker/awesome-compose"},"awesome-compose repository"),". This repository consists of many sample projects for you to get started with Podman Compose. "),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Open your Terminal window"),(0,a.kt)("li",{parentName:"ol"},"Change to the project directory ")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-sh"},"cd flask-redis\n")),(0,a.kt)("ol",{start:3},(0,a.kt)("li",{parentName:"ol"},"Run the following command ")),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-sh"},"podman-compose -f compose.yaml up -d\n")),(0,a.kt)("p",null,"The ",(0,a.kt)("inlineCode",{parentName:"p"},"compose.yaml")," file contains definitions for multiple containers within the ",(0,a.kt)("inlineCode",{parentName:"p"},"flask-redis")," project."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"img1",src:t(7864).Z,width:"1282",height:"882"})),(0,a.kt)("h3",{id:"3-manage-compose-with-podman-desktop"},"3. Manage Compose with Podman Desktop"),(0,a.kt)("p",null,"In order to check if the containers are running as expected, open Podman Desktop and click on the \u2018Containers\u2019 option on the left side of the application. You will notice that the containers are bundled together under a Pod named ",(0,a.kt)("inlineCode",{parentName:"p"},"flask-redis (compose)")," in this case. Here, the compose within the bracket indicates that it is generated from a Compose YAML file. "),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"img2",src:t(9761).Z,width:"1999",height:"1103"})),(0,a.kt)("p",null,"You can further configure or work with these containers within the Podman Desktop application now that they are visible. Here, clicking on the \u2018Open Browser\u2019 button allows us to check if the application is running as expected. "),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"img3",src:t(9459).Z,width:"1999",height:"877"})),(0,a.kt)("p",null,"You can do much more such as checking logs, opening the terminal or inspecting the files for more details."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"img4",src:t(5210).Z,width:"1999",height:"1103"})),(0,a.kt)("h2",{id:"conclusion"},"Conclusion"),(0,a.kt)("p",null,"That is it. This is how you can use Podman Desktop for your containers generated through ",(0,a.kt)("inlineCode",{parentName:"p"},"podman-compose"),". It will be really exciting to see you all developers leverage these compatibilities to build exciting applications using Podman Desktop!"))}c.isMDXComponent=!0},7864:(e,o,t)=>{t.d(o,{Z:()=>n});const n=t.p+"assets/images/compose_doc_image_1-79ba096000581d2067cd2fbc31c7d20f.png"},9761:(e,o,t)=>{t.d(o,{Z:()=>n});const n=t.p+"assets/images/compose_doc_image_2-fd0c6791568797c6a5670c72e53687ca.png"},9459:(e,o,t)=>{t.d(o,{Z:()=>n});const n=t.p+"assets/images/compose_doc_image_3-50808a5d4b1e003e5979c3d50a1e0e1c.png"},5210:(e,o,t)=>{t.d(o,{Z:()=>n});const n=t.p+"assets/images/compose_doc_image_4-b6ef9b2966e93143a04e6118e83d7101.png"}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.631768ea.js b/assets/js/runtime~main.bc464005.js similarity index 69% rename from assets/js/runtime~main.631768ea.js rename to assets/js/runtime~main.bc464005.js index 8c39e13b76f..479cb73d263 100644 --- a/assets/js/runtime~main.631768ea.js +++ b/assets/js/runtime~main.bc464005.js @@ -1 +1 @@ -(()=>{"use strict";var e,c,a,t,r,d={},f={};function b(e){var c=f[e];if(void 0!==c)return c.exports;var a=f[e]={exports:{}};return d[e].call(a.exports,a,a.exports,b),a.exports}b.m=d,e=[],b.O=(c,a,t,r)=>{if(!a){var d=1/0;for(i=0;i=r)&&Object.keys(b.O).every((e=>b.O[e](a[o])))?a.splice(o--,1):(f=!1,r0&&e[i-1][2]>r;i--)e[i]=e[i-1];e[i]=[a,t,r]},b.n=e=>{var c=e&&e.__esModule?()=>e.default:()=>e;return b.d(c,{a:c}),c},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,b.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var r=Object.create(null);b.r(r);var d={};c=c||[null,a({}),a([]),a(a)];for(var f=2&t&&e;"object"==typeof f&&!~c.indexOf(f);f=a(f))Object.getOwnPropertyNames(f).forEach((c=>d[c]=()=>e[c]));return d.default=()=>e,b.d(r,d),r},b.d=(e,c)=>{for(var a in c)b.o(c,a)&&!b.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:c[a]})},b.f={},b.e=e=>Promise.all(Object.keys(b.f).reduce(((c,a)=>(b.f[a](e,c),c)),[])),b.u=e=>"assets/js/"+({53:"935f2afb",114:"e665718d",182:"c276ecb2",199:"052b65b6",205:"83d480e9",397:"6194ac84",533:"b2b675dd",1241:"631e3189",1441:"382c5d2b",1477:"b2f554cd",1713:"a7023ddc",1724:"5087625a",2178:"ba322490",2217:"d7fbbe43",2535:"814f3328",2938:"c95aa39f",3010:"56c3a9b2",3089:"a6aa9e1f",3130:"ac371aaa",3237:"1df93b7f",3259:"03ccf92d",3505:"72486833",3608:"9e4087bc",3636:"8b4dd820",3751:"3720c009",4013:"01a85c17",4121:"55960ee5",4207:"beebaad6",5068:"d83d689a",5248:"6101b3fc",5625:"657ac0bc",6049:"f213dd13",6103:"ccc49370",6181:"4e8ec325",6778:"cc591f25",7138:"38a042e4",7149:"822c343e",7251:"ba5b9f11",7438:"9c021584",7505:"8894e90f",7536:"f6e0e63c",7813:"933a69d3",7847:"43b416ef",7918:"17896441",7920:"1a4e3797",8262:"059d1c6a",8610:"6875c492",8860:"0d040286",9360:"9d9f8394",9372:"07f59c2a",9387:"b0f1c099",9514:"1be78505",9671:"0e384e19",9924:"df203c0f",9925:"5259c827"}[e]||e)+"."+{53:"ee01f711",114:"45b00829",182:"90a09a09",199:"ae473471",205:"915fdb35",397:"ccd64fbd",533:"fb35fe43",1241:"51c5a947",1441:"11ebaefe",1477:"71472b0f",1713:"e7d703ab",1724:"0bb1a1ff",1769:"f0bfbb81",1947:"52b6d17b",2178:"13069292",2217:"bfcd6182",2535:"deb92d63",2938:"6da54fea",3010:"f13ef9e9",3089:"27507abf",3130:"e3d45c8e",3237:"51fd0f1d",3259:"f1abd038",3505:"68271af5",3608:"d0c4985c",3636:"4a13cd1c",3751:"157c10ee",3893:"0378aba5",4013:"4d440933",4121:"4a150f0e",4207:"76ec536b",4670:"1a86ede8",5068:"8ad7291e",5248:"e709f5cf",5625:"727df06d",6049:"6cfe5f17",6103:"14e91cbf",6181:"4eda4c78",6778:"88c755cd",7138:"3e9357ca",7149:"8d1aa85a",7251:"7d093eb3",7438:"57ce6924",7505:"c89628e1",7536:"1688c2d8",7813:"9014b81c",7847:"da52cc1e",7918:"afcca1a9",7920:"d094f34e",8068:"082d854d",8262:"fd127a03",8610:"319d29fe",8777:"10f7b1e7",8860:"13df6758",9127:"24e80eea",9360:"974126da",9372:"48e29085",9387:"33fbce5f",9514:"ed12907f",9671:"ca8cc1c8",9924:"f86b54c4",9925:"b5aec8f2"}[e]+".js",b.miniCssF=e=>{},b.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),b.o=(e,c)=>Object.prototype.hasOwnProperty.call(e,c),t={},r="docs:",b.l=(e,c,a,d)=>{if(t[e])t[e].push(c);else{var f,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i{f.onerror=f.onload=null,clearTimeout(s);var r=t[e];if(delete t[e],f.parentNode&&f.parentNode.removeChild(f),r&&r.forEach((e=>e(a))),c)return c(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:f}),12e4);f.onerror=l.bind(null,f.onerror),f.onload=l.bind(null,f.onload),o&&document.head.appendChild(f)}},b.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},b.p="/",b.gca=function(e){return e={17896441:"7918",72486833:"3505","935f2afb":"53",e665718d:"114",c276ecb2:"182","052b65b6":"199","83d480e9":"205","6194ac84":"397",b2b675dd:"533","631e3189":"1241","382c5d2b":"1441",b2f554cd:"1477",a7023ddc:"1713","5087625a":"1724",ba322490:"2178",d7fbbe43:"2217","814f3328":"2535",c95aa39f:"2938","56c3a9b2":"3010",a6aa9e1f:"3089",ac371aaa:"3130","1df93b7f":"3237","03ccf92d":"3259","9e4087bc":"3608","8b4dd820":"3636","3720c009":"3751","01a85c17":"4013","55960ee5":"4121",beebaad6:"4207",d83d689a:"5068","6101b3fc":"5248","657ac0bc":"5625",f213dd13:"6049",ccc49370:"6103","4e8ec325":"6181",cc591f25:"6778","38a042e4":"7138","822c343e":"7149",ba5b9f11:"7251","9c021584":"7438","8894e90f":"7505",f6e0e63c:"7536","933a69d3":"7813","43b416ef":"7847","1a4e3797":"7920","059d1c6a":"8262","6875c492":"8610","0d040286":"8860","9d9f8394":"9360","07f59c2a":"9372",b0f1c099:"9387","1be78505":"9514","0e384e19":"9671",df203c0f:"9924","5259c827":"9925"}[e]||e,b.p+b.u(e)},(()=>{var e={1303:0,532:0};b.f.j=(c,a)=>{var t=b.o(e,c)?e[c]:void 0;if(0!==t)if(t)a.push(t[2]);else if(/^(1303|532)$/.test(c))e[c]=0;else{var r=new Promise(((a,r)=>t=e[c]=[a,r]));a.push(t[2]=r);var d=b.p+b.u(c),f=new Error;b.l(d,(a=>{if(b.o(e,c)&&(0!==(t=e[c])&&(e[c]=void 0),t)){var r=a&&("load"===a.type?"missing":a.type),d=a&&a.target&&a.target.src;f.message="Loading chunk "+c+" failed.\n("+r+": "+d+")",f.name="ChunkLoadError",f.type=r,f.request=d,t[1](f)}}),"chunk-"+c,c)}},b.O.j=c=>0===e[c];var c=(c,a)=>{var t,r,d=a[0],f=a[1],o=a[2],n=0;if(d.some((c=>0!==e[c]))){for(t in f)b.o(f,t)&&(b.m[t]=f[t]);if(o)var i=o(b)}for(c&&c(a);n{"use strict";var e,c,a,t,d,r={},f={};function b(e){var c=f[e];if(void 0!==c)return c.exports;var a=f[e]={exports:{}};return r[e].call(a.exports,a,a.exports,b),a.exports}b.m=r,e=[],b.O=(c,a,t,d)=>{if(!a){var r=1/0;for(i=0;i=d)&&Object.keys(b.O).every((e=>b.O[e](a[o])))?a.splice(o--,1):(f=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[a,t,d]},b.n=e=>{var c=e&&e.__esModule?()=>e.default:()=>e;return b.d(c,{a:c}),c},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,b.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var d=Object.create(null);b.r(d);var r={};c=c||[null,a({}),a([]),a(a)];for(var f=2&t&&e;"object"==typeof f&&!~c.indexOf(f);f=a(f))Object.getOwnPropertyNames(f).forEach((c=>r[c]=()=>e[c]));return r.default=()=>e,b.d(d,r),d},b.d=(e,c)=>{for(var a in c)b.o(c,a)&&!b.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:c[a]})},b.f={},b.e=e=>Promise.all(Object.keys(b.f).reduce(((c,a)=>(b.f[a](e,c),c)),[])),b.u=e=>"assets/js/"+({53:"935f2afb",114:"e665718d",182:"c276ecb2",199:"052b65b6",205:"83d480e9",397:"6194ac84",533:"b2b675dd",1241:"631e3189",1441:"382c5d2b",1477:"b2f554cd",1713:"a7023ddc",1724:"5087625a",2178:"ba322490",2217:"d7fbbe43",2535:"814f3328",2938:"c95aa39f",3010:"56c3a9b2",3089:"a6aa9e1f",3130:"ac371aaa",3237:"1df93b7f",3259:"03ccf92d",3505:"72486833",3608:"9e4087bc",3636:"8b4dd820",3751:"3720c009",4013:"01a85c17",4121:"55960ee5",4207:"beebaad6",5068:"d83d689a",5248:"6101b3fc",5625:"657ac0bc",6049:"f213dd13",6103:"ccc49370",6181:"4e8ec325",6778:"cc591f25",7138:"38a042e4",7149:"822c343e",7251:"ba5b9f11",7438:"9c021584",7505:"8894e90f",7536:"f6e0e63c",7813:"933a69d3",7847:"43b416ef",7918:"17896441",7920:"1a4e3797",8262:"059d1c6a",8610:"6875c492",8860:"0d040286",9360:"9d9f8394",9372:"07f59c2a",9387:"b0f1c099",9514:"1be78505",9671:"0e384e19",9924:"df203c0f",9925:"5259c827"}[e]||e)+"."+{53:"ee01f711",114:"45b00829",182:"90a09a09",199:"ae473471",205:"915fdb35",397:"ccd64fbd",533:"fb35fe43",1241:"51c5a947",1441:"11ebaefe",1477:"71472b0f",1713:"e7d703ab",1724:"0bb1a1ff",1769:"f0bfbb81",1947:"52b6d17b",2178:"13069292",2217:"bfcd6182",2535:"deb92d63",2938:"6da54fea",3010:"f13ef9e9",3089:"27507abf",3130:"e3d45c8e",3237:"51fd0f1d",3259:"f1abd038",3505:"68271af5",3608:"d0c4985c",3636:"4a13cd1c",3751:"157c10ee",3893:"0378aba5",4013:"4d440933",4121:"4a150f0e",4207:"76ec536b",4670:"1a86ede8",5068:"8ad7291e",5248:"e709f5cf",5625:"727df06d",6049:"6cfe5f17",6103:"14e91cbf",6181:"4eda4c78",6778:"daa612f5",7138:"3e9357ca",7149:"8d1aa85a",7251:"7d093eb3",7438:"57ce6924",7505:"c89628e1",7536:"1688c2d8",7813:"9014b81c",7847:"da52cc1e",7918:"afcca1a9",7920:"d094f34e",8068:"082d854d",8262:"fd127a03",8610:"319d29fe",8777:"10f7b1e7",8860:"13df6758",9127:"24e80eea",9360:"bee25194",9372:"48e29085",9387:"33fbce5f",9514:"ed12907f",9671:"d9814c6b",9924:"f86b54c4",9925:"b5aec8f2"}[e]+".js",b.miniCssF=e=>{},b.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),b.o=(e,c)=>Object.prototype.hasOwnProperty.call(e,c),t={},d="docs:",b.l=(e,c,a,r)=>{if(t[e])t[e].push(c);else{var f,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i{f.onerror=f.onload=null,clearTimeout(s);var d=t[e];if(delete t[e],f.parentNode&&f.parentNode.removeChild(f),d&&d.forEach((e=>e(a))),c)return c(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:f}),12e4);f.onerror=l.bind(null,f.onerror),f.onload=l.bind(null,f.onload),o&&document.head.appendChild(f)}},b.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},b.p="/",b.gca=function(e){return e={17896441:"7918",72486833:"3505","935f2afb":"53",e665718d:"114",c276ecb2:"182","052b65b6":"199","83d480e9":"205","6194ac84":"397",b2b675dd:"533","631e3189":"1241","382c5d2b":"1441",b2f554cd:"1477",a7023ddc:"1713","5087625a":"1724",ba322490:"2178",d7fbbe43:"2217","814f3328":"2535",c95aa39f:"2938","56c3a9b2":"3010",a6aa9e1f:"3089",ac371aaa:"3130","1df93b7f":"3237","03ccf92d":"3259","9e4087bc":"3608","8b4dd820":"3636","3720c009":"3751","01a85c17":"4013","55960ee5":"4121",beebaad6:"4207",d83d689a:"5068","6101b3fc":"5248","657ac0bc":"5625",f213dd13:"6049",ccc49370:"6103","4e8ec325":"6181",cc591f25:"6778","38a042e4":"7138","822c343e":"7149",ba5b9f11:"7251","9c021584":"7438","8894e90f":"7505",f6e0e63c:"7536","933a69d3":"7813","43b416ef":"7847","1a4e3797":"7920","059d1c6a":"8262","6875c492":"8610","0d040286":"8860","9d9f8394":"9360","07f59c2a":"9372",b0f1c099:"9387","1be78505":"9514","0e384e19":"9671",df203c0f:"9924","5259c827":"9925"}[e]||e,b.p+b.u(e)},(()=>{var e={1303:0,532:0};b.f.j=(c,a)=>{var t=b.o(e,c)?e[c]:void 0;if(0!==t)if(t)a.push(t[2]);else if(/^(1303|532)$/.test(c))e[c]=0;else{var d=new Promise(((a,d)=>t=e[c]=[a,d]));a.push(t[2]=d);var r=b.p+b.u(c),f=new Error;b.l(r,(a=>{if(b.o(e,c)&&(0!==(t=e[c])&&(e[c]=void 0),t)){var d=a&&("load"===a.type?"missing":a.type),r=a&&a.target&&a.target.src;f.message="Loading chunk "+c+" failed.\n("+d+": "+r+")",f.name="ChunkLoadError",f.type=d,f.request=r,t[1](f)}}),"chunk-"+c,c)}},b.O.j=c=>0===e[c];var c=(c,a)=>{var t,d,r=a[0],f=a[1],o=a[2],n=0;if(r.some((c=>0!==e[c]))){for(t in f)b.o(f,t)&&(b.m[t]=f[t]);if(o)var i=o(b)}for(c&&c(a);n