{"id":18726168,"url":"https://github.com/fomightez/docker-mac-linuxchromium","last_synced_at":"2026-05-18T07:33:56.418Z","repository":{"id":71622387,"uuid":"81125116","full_name":"fomightez/docker-mac-linuxchromium","owner":"fomightez","description":"Dockerfile for a container for Linux chromium with all dependencies that can be tunneled to Mac Desktop","archived":false,"fork":false,"pushed_at":"2017-02-09T20:52:13.000Z","size":39,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-28T13:25:54.163Z","etag":null,"topics":["bash","docker","dockerfile","dockerfiles"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fomightez.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-06T19:46:12.000Z","updated_at":"2023-04-09T20:26:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"ac4a4098-5bbb-40b4-9eb6-a464e7d3d84f","html_url":"https://github.com/fomightez/docker-mac-linuxchromium","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fomightez%2Fdocker-mac-linuxchromium","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fomightez%2Fdocker-mac-linuxchromium/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fomightez%2Fdocker-mac-linuxchromium/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fomightez%2Fdocker-mac-linuxchromium/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fomightez","download_url":"https://codeload.github.com/fomightez/docker-mac-linuxchromium/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239592972,"owners_count":19664855,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","docker","dockerfile","dockerfiles"],"created_at":"2024-11-07T14:13:34.281Z","updated_at":"2025-11-05T09:02:15.657Z","avatar_url":"https://github.com/fomightez.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"[![](https://images.microbadger.com/badges/image/fomightez/chromium.svg)](https://microbadger.com/images/fomightez/chromium \"Get your own image badge on microbadger.com\")\n\nLinux Chromium to Mac Display using Docker\n===================================\n\nSee associated Docker image at  \nhttps://hub.docker.com/r/fomightez/chromium/\n\n\nImage for a container for Linux chromium with all dependencies that can be tunneled to Mac Desktop\n-------------------------------\n\n[Dockerfile](https://github.com/fomightez/docker-mac-linuxchromium)\n\nDockerfile for the image adapted from [here](https://github.com/docker/docker/tree/b248de7e332b6e67b08a8981f68060e6ae629ccf/contrib/desktop-integration/chromium) because that one worked whereas the version that is presently at the [source of the other images](https://hub.docker.com/u/jess/) I am pulling doesn't work. Specifically, since present version of this [particular one](https://github.com/jessfraz/dockerfiles/blob/master/chromium/Dockerfile) seems to fail at this time. I only changed the comments section of the original Dockerfile.\n\nProcess to use and examples based on following [Bring Linux apps to the Mac Desktop with Docker](http://blog.alexellis.io/linux-desktop-on-mac/) and [How to run a Linux GUI application on OSX using Docker](http://kartoza.com/en/blog/how-to-run-a-linux-gui-application-on-osx-using-docker/) and Jessie Frazelle's [Docker Containers on the Desktop](https://blog.jessfraz.com/post/docker-containers-on-the-desktop/).\n\nUsage\n--------\n\n1. Install the necessary software following: [Bring Linux apps to the Mac Desktop with Docker](http://blog.alexellis.io/linux-desktop-on-mac/) and [How to run a Linux GUI application on OSX using Docker](http://kartoza.com/en/blog/how-to-run-a-linux-gui-application-on-osx-using-docker/) . Essentially you'll need working Docker, socat, and XQuartz.\n\n\tNotes:\n\t* I am doing this on a computer running OSX 10.9.5 (Mavericks), and so I used Docker Toolbox from Docker.com. Docker.com suggests their newer software, Docker for Mac, if you can run it.\n\t* I found the solution to install XQuartz from [How to run a Linux GUI application on OSX using Docker](http://kartoza.com/en/blog/how-to-run-a-linux-gui-application-on-osx-using-docker/) worked for me. I found the `homebrew` approach to not work for me. YMMV. This is a rather lengthy install.\n\t* `homebrew` did work for installing `socat`, but I had to use Jikku Jose's answer [here](http://stackoverflow.com/questions/26647412/homebrew-could-not-symlink-usr-local-bin-is-not-writable) to allow brew to make the symlinks.\n\n2. Now you need to do three steps of preparation.\n\n\tFirst, start `socat` up with the following command in a fresh terminal window\n\n\t\tsocat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\\\"$DISPLAY\\\"\n\n\tThis will create a tunnel from an open X11 port (6000) through to the local UNIX socket where XQuartz will be listening for connections.\n\n\t**Importantly**: this will cause that terminal window to \"hang\" in a running, yet non-responsive state as the tunnel runs. Leave that terminal window open like that, and move to another one for all subsequent terminal use.\n\n3. Next, start up XQuartz from the LaunchPad and toggle the settings that [Kartoza suggests](http://kartoza.com/en/blog/how-to-run-a-linux-gui-application-on-osx-using-docker/). Specifically,in X11 preferences in XQuartz, in the `security` tab, check both boxes as illustrated [here](http://kartoza.com/en/blog/how-to-run-a-linux-gui-application-on-osx-using-docker/). Kartoza says you can close the terminal that pops up in XQuartz at startup.\n\n\tYou can leave those two situated open from now on. I wouldn't close those until you are completely through trying to stream output from out of your Linux container to your Mac desktop.\n\n4. You need to get an IP address from your local Mac that you'll need to use for the `docker run` commands below, you need to replace the part in from of the `:0` in `192.168.99.1:0` in the commands below with the second address listed when you issue the command\n\n\t\tifconfig | grep \"inet \" | grep -Fv 127.0.0.1 | awk '{print $2}'\n\n5. That completes the preparation and analysis on your Mac system. Now you are ready to step through actually running the Linux container and piping it out to your Mac screen.\n\n\tNow for your first test, I would suggest something simple. I found the examples from [Bring Linux apps to the Mac Desktop with Docker](http://blog.alexellis.io/linux-desktop-on-mac/) and [How to run a Linux GUI application on OSX using Docker](http://kartoza.com/en/blog/how-to-run-a-linux-gui-application-on-osx-using-docker/) to be overly complex for first attempts. I suggest using the gparted docker image an established Docker image first with a simple, graphical-user-interface-based program to check.\n\n\tIn your terminal window enter\n\n\t\tdocker run -e DISPLAY=192.168.99.1:0 --name gparted jess/gparted\n\n\tIf all goes well, the focus should go to XQuartz where you will see Linux's gparted running. See `Troubleshooting` below if something else happened.\n\n\tSelect `Quit` from the file menu there to shut the container down. Back in the terminal window, you'll see the normal command line prompt return.\n\n\tAnother check is to use Inkscape, that command is\n\n\t\tdocker run -it -e DISPLAY=192.168.99.1:0 --name ink jess/inkscape\n\n\t*Remember to replace the IP address in the command with yours, keeping the `:0` after it.*\n\n\tSelect `Quit` from the file menu there to shut the container down. Back in the terminal window, you'll see the normal command line prompt return.\n\n6. Now use this Docker image to try Chromium.\n\n\t\tdocker run -e DISPLAY=192.168.99.1:0 -v $HOME/Downloads:/root/Downloads --name chrome fomightez/chromium\n\n\t*Remember to replace the IP address in the command with yours, keeping the `:0` after it.*\n\n\tDownloads will go to the local Mac `Downloads` directory because of the volume-binding command line flag.\n\n\tSelect `Quit` from the file menu there to shut the container down. Back in the terminal window, you'll see the normal command line prompt return.\n\n\nTroubleshooting and cleaning up\n-------------------------------\n\nIf you try to run a Docker image unsuccessfully or successfully, it may still create a visible entry you'll see when you enter `docker ps -a` to list docker jobs.\n\nTherefore if you get an error that begins\n\n\tdocker: Error response from daemon: Conflict. The container name...\n\nyou'll need to remove it before you can create a new one. Issue the command\n\n\tdocker rm -f id_or_name\n\nwhere `id_or_name` is the name or the first three or four characters of the `CONTAINER ID`.\n\nAdditionally, you may wish to remove images that you see when you issue the command `docker images`.\nThe command is\n\n\tdocker rmi id_or_name\n\nwhere `id_or_name` is the name or the first three or four characters of the `IMAGE ID  `.\nCheck you results with\n\n\tdocker ps -a\n\tdocker images\n\n\nRelated\n-------\n\n[First Touch Down with Docker for Mac](https://blog.hypriot.com/post/first-touch-down-with-docker-for-mac/) says you can send programs running from in a raspberry pi container to Mac OS display\n\n[Docker Containers on the Desktop](https://blog.jessfraz.com/post/docker-containers-on-the-desktop/) says you can send program running in a Linux container out to display on a native Linux computer\n\nI imagine ultimately Windows will be possible in this ability to go between systems will include Windows-based systems, I understand [Docker in Windows development is nascent and only works on a few versions for now](https://stefanscherer.github.io/run-linux-and-windows-containers-on-windows-10/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffomightez%2Fdocker-mac-linuxchromium","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffomightez%2Fdocker-mac-linuxchromium","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffomightez%2Fdocker-mac-linuxchromium/lists"}