News for hackers. Stuff that matters.
Re:What’s New in Docker 1.13? by iends on Friday January 20, 2017 @12:14AM (#13441851)
Docker for Mac is a pretty terrible experience. https://github.com/docker/for-mac/issues/77 has eaten a huge chunk of time for my team and the issue has been open and known about since the beta. Yes there are hacks to make things better, but as of a month or two ago the Docker team seems to have gone radio silent after providing periodic updates.
Re:What’s New in Docker 1.13? by donw on Friday January 20, 2017 @03:02AM (#13442337)
For years, I advocated for developing inside of VMs or containers. Even wrote a very handy shell tool for managing the process. But a few years ago, I stopped, and just switched to developing on my local machine.

Working in VMs or containers adds a ton of complexity, for very little benefit.

Installing databases is trivial, with any of `brew`, `yum`, or `apt-get`.

Your `bin/setup` script can take care of automating that for onboarding new developers. The same script gets used in your Dockerfile.

And your CI system is there to as-perfectly-as-possible replicate production, to run your comprehensive test suite (you do practice TDD, right?) and catch things like "forgot to add a library dependency to the setup script" and "app broke because of a library version difference".

Since switching to local-only development, plus containers and CI/CD, my life has gotten a lot nicer.

Re:What’s New in Docker 1.13? by sytse on Friday January 20, 2017 @10:58AM (#13444676)
At GitLab all team members develop without virtualization. Disk IO is just much faster that way. We recommend the approach in our development kit https://gitlab.com/gitlab-org/gitlab-development-kit

We would love to see better virtualization disk performance so it is easier for non-team members to contribute. We're happy that despite that people are still able to contribute https://gitlab.com/gitlab-org/gitlab-ce/merge_requests?scope...

Re:What’s New in Docker 1.13? by emilburzo on Sunday January 22, 2017 @04:33PM (#13457646)
That's interesting, but shouldn't containers (e.g.: docker/lxc) be almost as fast as native at disk I/O?

I mean that's basically why I moved my self hosted virtual servers from KVM, which was abysmal on regular desktop spinning disks, to LXC/Docker which is comparably fast to native -- plus I can fit a lot more containers than full VMs.

Re:What’s New in Docker 1.13? by sytse on Sunday January 22, 2017 @11:15PM (#13459706)
The problem is that on MacOS you have to run containers in a virtual machine since you're not running on Linux. Crossing the VM boundary with IO can be slow, especially on virtualbox.
Re:What’s New in Docker 1.13? by emilburzo on Monday January 23, 2017 @01:25AM (#13460251)
Oh, I'm not using MacOS so I didn't know that.

It makes a lot more sense now, thanks!

Re:What’s New in Docker 1.13? by Daviey on Friday January 20, 2017 @05:43AM (#13442817)
If you are developing within a docker container, how do you get as far as CI before you have tested it working locally??

The whole point of using docker containers is to have the same development experience locally, in CI and in prod.. not have some unknown system libraries on your box which don't match other environments.

Want a database? docker run mysql/mysql-server

Your argument for switching away from containers, seems to actually be arguing for using containers.

Re:What’s New in Docker 1.13? by crdoconnor on Friday January 20, 2017 @06:43AM (#13443112)
You'll never get the same environment locally as you do in prod. That's why you have staging (you do have staging, right?).

It's better to make the environment as close as possible to prod without adding massive inconvenience but docker both adds inconvenience and forces you to use it in production (which entails a whole other set of headaches) if you want close environmental parity, and even then, since it's lightweight virtualization there are hundreds of things which can behave differently between dev and prod.

IMHO you either want very close environmental parity (in which case full virtualization is the way to go) or you don't, in which case running locally is fine.

Re:What’s New in Docker 1.13? by amouat on Friday January 20, 2017 @08:34AM (#13443651)
> That's why you have staging (you do have staging, right?).

Plenty of people don't. The main reason being that staging is never quite the same as production...

Re:What’s New in Docker 1.13? by sz4kerto on Friday January 20, 2017 @09:21AM (#13443898)
We are working in a remote team, so replicating shared envs locally is important. Our system contains multiple databases, application servers, SMTP, etc etc. -- you can use all of them in your local dev env. It's not the same as prod because of different latencies, etc., but all containers are present locally. It is _very_ useful.
Re:What’s New in Docker 1.13? by crdoconnor on Friday January 20, 2017 @10:03AM (#13444269)
>We are working in a remote team, so replicating shared envs locally is important.

It is, but I'm not particularly keen on docker as a solution to this problem. It provides a low level of isolation/realism for these services and the tooling surrounding it is relatively poor.

Re:What’s New in Docker 1.13? by bradmwalker on Friday January 20, 2017 @10:03AM (#13444262)
What about LXC system containers? Differences between hardware and OS virtualization still exist, e.g. immutable system clock, but it's otherwise like running a regular Linux box. An init process that can simulate rebooting, mature system package management, no process isolation that's often gratuitous, etc.
Re:What’s New in Docker 1.13? by bradmwalker on Friday January 20, 2017 @10:03AM (#13444263)
What about LXC system containers? Differences between hardware and OS virtualization still exist, e.g. immutable system clock, but it's otherwise like running a regular Linux box. An init process that can simulate rebooting, mature system package management, no process isolation that's often gratuitous, etc.
Re:What’s New in Docker 1.13? by haylem on Friday January 20, 2017 @08:14AM (#13443532)
> Installing databases is trivial, with any of `brew`, `yum`, or `apt-get`.

yes. For once database version and one single data set. If you handle multiple customers, multiple versions of a software suite to support which target specific versions of a DB, containers or VMs are handy.

I don't do my dev in a container. That always seemed stupid for me. But my dependencies are in containers.

Re:What’s New in Docker 1.13? by opaque on Friday January 20, 2017 @05:29AM (#13442776)
This makes Docker for Mac unusable for rails development (without 3rd party work arounds). The issue and the radio silence has burned a lot of goodwill I and I'm sure others had for the Docker project. It's made worse by the constant stream of "production ready" announcements, while this product is crippled for most common use cases.

Here's the related thread on the docker forums. https://forums.docker.com/t/file-access-in-mounted-volumes-e...

Re:What’s New in Docker 1.13? by duncan-donuts on Friday January 20, 2017 @12:19AM (#13441865)
I have given up on using docker on macOS. I now use Ubuntu at work, and it's interesting to watch a lot of my co-workers give up on macOS too. I totally agree it is a horrible experience.
Re:What’s New in Docker 1.13? by dandermotj on Friday January 20, 2017 @06:23AM (#13443021)
Use Docker on Ubuntu on my own machine, but forced to use a Docker on Windows at work. Using Docker on Linux is an absolute joy. I totally advocate it. Dockerhub is my first port of call when I'm installing something new on my machine because I know if there's an official repo it will work.

Docker outside of Linux is another story. I've run into config issues, VM memory problems, proxy issues, ect. Painful.

Re:What’s New in Docker 1.13? by duncan-donuts on Friday January 20, 2017 @08:55AM (#13443761)
Same here. I was struggling using docker at work on my Mac, but when I was working at home on my Linux box it was amazing. Docker is awesome on Linux and I have never been more productive.
Re:What’s New in Docker 1.13? by nallerooth on Friday January 20, 2017 @01:32AM (#13442043)
This is the case where I work too. I'm guessing that at least 75% of our engineering team now uses Linux, even though everyone were given a MBP when hired.
Re:What’s New in Docker 1.13? by fak3r on Friday January 20, 2017 @11:20AM (#13444832)
Working with Docker at a previous gig, after wrestling with docker-for-mac and boot2docker for months I just stopped witl all the hacky work-arounds and just used Vagrant or Ubuntu AWS nodes for Docker development. Also, I have to say that Docker ONLY got a 'prune' option with 1.13 is amazing - I had aliases to do that years ago and was always a huge pain point! Why wasn't this rolled in last year?
Re:What’s New in Docker 1.13? by mmgutz on Friday January 20, 2017 @10:04AM (#13444278)
Same with our team. Linux, for the most part, is a much better development experience. The only con is our front-end guy can't use Photoshop.

I don't even miss iterm2 anymore. i3 tiling WM is iterm2 for the whole desktop on steroids.

Re:What’s New in Docker 1.13? by willejs on Friday January 20, 2017 @06:20AM (#13443009)
Docker for mac mounts your whole FS to the VM which is so fucking scary and dangerous. I posted about this somewhere in the github issues, but they just shrugged and carried on. I also asked if they could compile the kernel with btrfs support, and the same happened.

They should just open source the whole thing so people could help fix issues or understand how and why it works.

Re:What’s New in Docker 1.13? by nzoschke on Friday January 20, 2017 @08:58AM (#13443770)
It's likely impossible to make volumes shared from the host to the container fast for all use cases.

It's also likely impossible to make them work as expected on Windows where the host volume is NTFS and the container is Linux.

So don't use shared volumes for code.

At Convox we offer a Docker development environment in the "convox start" command.

We manage syncing code into the container by watching the host file system and periodically doing a "docker cp" to get source changes into the container.

It works great and shows the power of the Docker API for taking control of your containers.

A bit more info is available here: https://convox.com/guide/reloading/

Re:What’s New in Docker 1.13? by landmark3 on Friday January 20, 2017 @04:15AM (#13442538)
I've been using https://github.com/codekitchen/dinghy for a while...it transparently uses NFS for sharing and disk access is really fast
Re:What’s New in Docker 1.13? by thepumpkin1979 on Friday January 20, 2017 @09:03AM (#13443795)
It's no coincidence that some projects such as Nomad and Confluent include statements such as "Docker For Mac Caveats", "Don’t use Docker for Mac" in their docs. https://www.nomadproject.io/docs/drivers/docker.html

http://docs.confluent.io/3.0.1/cp-docker-images/docs/intro.h...

Re:What’s New in Docker 1.13? by darren0 on Friday January 20, 2017 @09:18AM (#13443876)
While the installation experience of Docker for Mac is very good, the unfortunate downfall of the project is they try to hide what is really going on. You are running a VM and through a series of very clever tricks and fancy technology they attempt to make the VM hidden as though you are running Docker local (like in Linux). This has the side effect of odd behaviors. As a result in my own projects we struggle to support Docker for Mac also.
Re:What’s New in Docker 1.13? by willejs on Friday January 20, 2017 @10:58AM (#13444675)
Yeah, this is my favourite: screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty Oh you can just login as passwordless root to the VM, then you know, access the mounted fs which is your root fs. Insane.
Re:What’s New in Docker 1.13? by sigjuice on Friday January 20, 2017 @01:07PM (#13445619)
Are you referring to this?

  / # uname -a
  Linux moby 4.9.4-moby #1 SMP Wed Jan 18 17:04:43 UTC 2017 x86_64 Linux

  / # mount | grep osxfs
  osxfs on /Users type fuse.osxfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,max_read=1048576)
  osxfs on /Volumes type fuse.osxfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,max_read=1048576)
  osxfs on /tmp type fuse.osxfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,max_read=1048576)
  osxfs on /private type fuse.osxfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,max_read=1048576)
  osxfs on /host_docker_app type fuse.osxfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,max_read=1048576)
Re:What’s New in Docker 1.13? by willejs on Saturday January 21, 2017 @01:52PM (#13451429)
Yes, it mounts you HD in /Volumes.
Re:What’s New in Docker 1.13? by techwizrd on Friday January 20, 2017 @12:55AM (#13441947)
As far as I remember, doesn't Docker for Mac create a VM and then run the docker containers in the VM? That'd explain the terrible filesystem performance.
Re:What’s New in Docker 1.13? by plufz on Friday January 20, 2017 @03:38AM (#13442431)
But that is not the issue. I think the speed of docker under the os hypervisor is fine. The bug is in in osxfs https://github.com/docker/for-mac/issues/77
Re:What’s New in Docker 1.13? by jefffan241 on Friday January 20, 2017 @02:56AM (#13442319)
It does, it's a lighter VM than VirtualBox which is what docker machine used, but still a VM nonetheless.
Re:What’s New in Docker 1.13? by Walkman on Friday January 20, 2017 @07:06AM (#13443200)
docker-toolbox you are talking about. The new version (Docker for Mac) with this problem doesn't use a VM anymore, but native virtualization on OS X. The old version doesn't have this problem.
Re:What’s New in Docker 1.13? by CrLf on Friday January 20, 2017 @08:34AM (#13443650)
Native virtualization is a VM...
Re:What’s New in Docker 1.13? by Philipp__ on Friday January 20, 2017 @09:00AM (#13443783)
xhyve spins Alpine Linux VM inside which it runs Docker Engine. So basically it don't deviate too much from running Docker prev. to docker-toolbox for macOS.
Re:What’s New in Docker 1.13? by hyperknot on Friday January 20, 2017 @07:06AM (#13443198)
Yes, and especially for tools like PostgreSQL which uses features of the Linux filesystems which Docker simply didn't implement or implemented in a buggy way. My only solution was to use data volumes for PGSQL mounts, which at least provide native ext4 experience and compatibility but then you loose the directory sharing part.
Re:What’s New in Docker 1.13? by dekz on Friday January 20, 2017 @07:10AM (#13443217)
What was your use case where you needed pgdata in both the HOST and a container (or multiple)?
Re:What’s New in Docker 1.13? by hyperknot on Friday January 20, 2017 @07:20AM (#13443257)
Simply just backup it up. There is no way to back up Docker volumes, except for making an other container only for this purpose which runs rsync or something similar.
Re:What’s New in Docker 1.13? by cube2222 on Friday January 20, 2017 @01:53AM (#13442114)
Docker for Windows works great of you want to try it.
Re:What’s New in Docker 1.13? by LukaD on Friday January 20, 2017 @08:17AM (#13443552)
Except that you can't use virtualbox anymore when hyper-v ist active... That's why I switched back to docker-machine on my windows pc.
Re:What’s New in Docker 1.13? by bpicolo on Friday January 20, 2017 @09:45AM (#13444096)
boot2docker in a virtualbox actually seems to have much faster file system access. Slightly more awkward experience overall, but perf seems better
Re:What’s New in Docker 1.13? by hyperknot on Friday January 20, 2017 @07:35AM (#13443341)
And then you didn't mention the whole concept of storing everything in one-huge-always-expanding-blob ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2 file which contains all Docker related storage, images, data volumes etc.

Now that file just loves growing to 40 GB+ and there is no supported way to reclaim that space.

You can delete the file (or click Reset to factory defaults in the GUI), but then you loose all your Docker's storage, like data volumes.

Re:What’s New in Docker 1.13? by lentil on Friday January 20, 2017 @07:58AM (#13443443)
> and there is no supported way to reclaim that space

That's one of the things addressed in the latest stable release. It now reclaims space on startup.

Re:What’s New in Docker 1.13? by tmaly on Friday January 20, 2017 @10:36AM (#13444520)
This has been one of the main reasons why I have not adopted Docker yet.

I develop on a Macbook and push things to Linux Servers.