Brew always buids so publishing a recipe will be posible only when we make the build succeed and usually they are less then 10 lines of code. Still to make them work we need to assure that libpod compiles on MacOS which is not yet the case.
brew install golang gpgme
git clone https://github.com/containers/libpod.git ~/go/src/github.com/containers/libpod
export GOLANG=~/go/
cd ~/go/src/github.com/containers/libpod
make
++ for this request
I'm currently using docker to build containers for kubernetes (for a OSS project), and was just reading about podman, but most devs are using macOS so to encourage others in the team to experiment I need something easy to use. 'brew install podman' would be the answer! (alongside yum/apt on *nix AND something on windows) . Manual compile is fine for me, but it makes it harder for the broader population to engage.
I realise it's a new work in progress project.
Maybe it's time to learn how to create brew packages!
The pyproject goals is to satisfy this need. @jwhonce Is working on this, but would love some help in setting this up.
Please review the work that has been done in pypodman and tell us what you think this needs.
We would love to get to a Boot2Coreos type environment going where pypodman would pull in a FedoraCoreOS image and work with it. We plan on having some Blue Jeans meetings to discuss this feature in the week after the break.
PR's gladly accepted.
We have moved to podman-remote.
@ssbarnea Interested in opening a PR?
podman-remote is getting closer.
I am watching this closely because my desktop is a macos and I extensively use a docker in testing (tox-docker, molecule, ansible, pytest) with remote DOCKER_HOST=ssh://user@server. All tools I use happen to be using https://pypi.org/project/docker/ library to build and run the tested containers (none of them needing configuration to make it work).
This means that we will need to find a way to simulate the same process for people using podman/buildah, so they can continue to use these tools, hopefully without to have to change their code (or at least with minimal changes).
Sadly I do not have the bandwith to be able to work on that myself, but I will be more than happy to provide feedback / do testing.
a similar process here.
i do often have DOCKER_HOST set to offload processing from my local mac (esp. if travelling and saving power). I use the spotify docker maven plugin (dockerfile-maven-plugin) to build images, so at some point enabling that plugin, or an alternative would be helpful too.
@ssbarnea and @planetf1 Because of issues with a dependency building on MacOS, I put this together for testing: https://github.com/containers/libpod/releases/download/v1.3.1/podman-v1.3.1.dmg I'll update for each release.
Please let me know what you find, or would like see additionally on the dmg. Thanks!
/cc @4383
@jwhonce thanks I will take a look ASAP
@jwhonce Thanks. Still the are few issues to fix:
It seems to execute and --help works fine but I was not able to build a container using podman build . as I got:
Error: could not get runtime: dial unix /run/podman/io.podman: connect: no such file or directory
Please let me know what else I can do to help testing. I will try to create a brew cask formulae for automating installation of the binary.
@jwhonce: I managed to create a PR to add a cask for installing podman with brew cask install podman, which should be fine until we sort the compilation issues. Sadly this means that file needs to be updated for each new release, but is is very easy to do so.
can we call this done?
@jwhonce: I managed to create a PR to add a cask for installing podman with
brew cask install podman, which should be fine until we sort the compilation issues. Sadly this means that file needs to be updated for each new release, but is is very easy to do so.
afaik they have a bot to do it automatically... not sure how they run it though
@baude sadly this is not done.
@ssbarnea I'll look into the signing given our current build tools. I understand about dmg. Next release I'll attach the executable as well as the dmg. We'll continue to improve on this. Thanks for your work on brew, I see where they closed the PR rather than merging. I was afraid of that given their guidance documentation.
To point at the machine running podman, you can use:
$ podman --remote-host 192.168.xxx.yyy --username root ...
-or-
$ export PODMAN_VARLINK_BRIDGE=$'ssh -T [email protected] -- "/usr/bin/varlink -A \'/usr/bin/podman varlink \$VARLINK_ADDRESS\' bridge"'
$ podman ...
Depending on how much control you want over the ssh bridge.
Guys, this is some awesome work here!
I was able to have podman cli installed via homebrew. I guess I could run the server part locally as well. What is the recommended way of running it all on macOS?
@dinamic We're researching the MacOS Hypervisor to run the podman service. Currently we run the podman service on a Linux instance either VM or hardware.
Glad to hear of your success! :+1:
As an example of that - https://github.com/boot2podman/boot2podman
@jwhonce is there another way to start a podman service other than boot2podman? I've tried boot2podman but failed setting up a link:
โฏ podman-machine ssh
.---. b o o t 2 mm https://podman.io
/o o\ ##
__(= " =)__ ##m###m m####m m###m## ####m##m m#####m ##m####m
//\'-=-'/\\ ##" "## ##" "## ##" "## ## ## ## " mmm## ##" ##
) ( ## ## ## ## ## ## ## ## ## m##"""## ## ##
/ \ ###mm##" "##mm##" "##mm### ## ## ## ##mmm### ## ##
____/ / \ \____ ## """ """" """ "" "" "" "" """" "" "" ""
`------'`"`'------' ## art: jgs
tc@box:~$ % ~ | ๏ hild
โฏ podman-machine env box --varlink
export VARLINK_BRIDGE="/usr/bin/ssh -F /dev/null -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none -o LogLevel=quiet -o PasswordAuthentication=no -o ServerAliveInterval=60 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null [email protected] -o IdentitiesOnly=yes -i /Users/hild/.local/machine/machines/box/id_rsa -p 58023 varlink bridge"
export PODMAN_VARLINK_BRIDGE="$VARLINK_BRIDGE"
# Run this command to configure your shell:
# eval $(podman-machine env box --varlink)
~ | ๏ hild
โฏ eval $(podman-machine env box --varlink)
~ | ๏ hild
โฏ podman images
Error: Could not get runtime: dial unix /run/podman/io.podman: connect: no such file or directory
~ | โต 125 hild
โฏ /usr/bin/ssh -F /dev/null -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none -o LogLevel=quiet -o PasswordAuthentication=no -o ServerAliveInterval=60 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null [email protected] -o IdentitiesOnly=yes -i /Users/hild/.local/machine/machines/box/id_rsa -p 58023 varlink bridge
^C%
Completely unrelated to the issue, but I need to know where the ASCII art came from? OK if I throw it up on a podman.io blog post and share? Love it!
I personally prefer ANSI Shadow
โโโโโโโ โโโโโโโ โโโโโโโ โโโโ โโโโ โโโโโโ โโโโ โโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โโโ
โโโโโโโโโโโ โโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโ
โโโโโโโ โโโ โโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโ โโโโโโโโโโโโโโโโโโโโ โโโ โโโโโโ โโโโโโ โโโโโโ
โโโ โโโโโโโ โโโโโโโ โโโ โโโโโโ โโโโโโ โโโโโ
That's pretty awesome too @4383 ! Thanks for sharing.
@ashley-cui Can we close this, is this available now?
@ssbarnea WDYT?
Podman is installable using brew cask currently on manpages. Just finally got manpages to install and uninstall correctly yesterday, will update homebrew script soon .
Do you have a link to the use of 'brew cask' ?
@planetf1 brew cast install podman
@planetf1 @dinamic brew cask install podman
Thanks. Installed ok. Next step to experiment....
@ashley-cui Do we have update information on this in install.md?
@rhatdan Doing that now
Just checking my understanding- this is going to have the same approach as macOS docker, running all the container host components inside a VM that isn't Darwin?
yes, at least initially.
Well unless someone builds and OCI compliant Runtime for Darwin, this is the only way to run containers on a MAC.
Not working.
$ podman info
Error: could not get runtime: dial unix /run/podman/io.podman: connect: no such file or directory
@Kitanotori Have you taken a look at mac-client.md to set up Podman for Mac?
@ashley-cui Thanks. I see, I need to manually set up Linux host in order to use podman on macOS. I think I will just wait until podman can provide similar out-of-the-box experience on macOS as Docker for Mac. Looking forward to podman becoming serious alternative to Docker across platforms. ๐
@TomSweeneyRedHat : the answer for the boot2podman "logo" was on the link right above:
The text logo is based on http://ascii.co.uk/art/seal and
figlet -f ascii12 podman.
I fixed the issues with PODMAN_VARLINK_BRIDGE being broken, so it should work now.
Still only support virtualbox and qemu out-of-the-box, but should add a more native driver...
I think that podman-machine should be "on par" with docker-machine and Docker Toolbox.
But it is not Docker for Mac, and only supports regular Fedora - not Fedora CoreOS (yet).
However, this should work (on any platform):
$ podman-machine create box
$ podman-machine ssh box sudo podman info
$ eval $(podman-machine env box --varlink)
$ podman-remote info
@afbjorklund Great work, we need to start coordinating better.
@jwhonce Could you take a look at what he has done.
@baude ^^
i was talking with @afbjorklund while he was making the changes.
There were some changes done on master (after the release was made), to make it work better on for instance CoreOS and other distribution where one don't want to allow ssh access as the root user...
We're now relying on the varlink bridge instead, running that with sudo, and using the environment variable to set up the environment. Tested with Boot2Podman and (regular) Fedora 30, works OK.
The main issue right now is that interactive terminals don't seem to be working, over the varlink:
Error: client must use upgraded connection to attach
There is also another unfortunate error with the latest ISO, that causes regular ssh to fail too:
exec: "iptables": executable file not found in $PATH
Will try upgrading the boot2docker.iso image (new varlink, new openssh) to fix these issues.
Should also upgrade the packages on the Fedora 30 image, currently it is still at podman-1.4.2.
Need to update the build process a bit, there are still some manual steps at the end of the process.
But most of the actual packages and such should be reproducable with the scripts on the site.
I just came across this project from ubuntu, related to the microk8s project.
https://github.com/CanonicalLtd/multipass
No idea of feasibility, but would be great if podman supported microk8s and multipass
If community builds it, we would be amenable.
@Kitanotori Have you taken a look at mac-client.md to set up Podman for Mac?
I've installed podman via brew cask install podman.
All is apparently well and I can podman --help but anything else gives me the error reported by @Kitanotori. The link provided by @ashley-cui returns a -404
It is not clear to me if I need to install something else or run a container which would defeat the purpose of the brew cask install... I guess...
Any guidance appreciated. Thanks!
We moved the tutorial to put it with our other tutorials - it now lives at https://github.com/containers/libpod/blob/master/docs/tutorials/mac_client.md
@Kitanotori Have you taken a look at mac-client.md to set up Podman for Mac?
I've updated @ashley-cui 's reply above with an updated link too just in case someone doesn't make it down this far.
Most helpful comment
@ashley-cui Thanks. I see, I need to manually set up Linux host in order to use podman on macOS. I think I will just wait until podman can provide similar out-of-the-box experience on macOS as Docker for Mac. Looking forward to podman becoming serious alternative to Docker across platforms. ๐