7 ms·
Docker Jumpstart
- weaksauce 11y agoThe short introduction on that tutorial is much better than that actual docker site and 10-15 min interactive tutorial on what docker actually is and what it can be used for. A note to other developers, it's a good idea to not use some language without first defining the word... Especially if it's an overloaded term.
- eli 11y agoAgreed, it's a nice intro. I still think the hardest part is understanding how docker fits into the bigger picture. I think I've more or less figured it out on my own, but I struggled with e.g. do I want my source built in the image or mounted as a volume?
- icebraining 11y agoIf you're loading the source from outside, aren't you losing the advantages of immutability of the Docker container? Suddenly the same image may have different behaviours depending on the state of the code outside.
- xchaotic 11y agoThat's why you want to use volumes for mutable data such as your source code repo - you isolate the changing parts and keep the containers static.
- icebraining 11y agoBut if the source is mutable data, what isn't? Everything eventually mutates - dependencies have updates, configurations change, etc. Isn't the point of images that you "freeze" a static release that can be deployed everywhere? It seems that by that point you've lost the advantage of using images; if parts of the system must be loaded outside of the container, it seems you might as well simply use a configuration manager to install the stuff and then run LXC/LXD containers instead of using images at all.
- tvmalsv 11y agoI know, I'm a little late to this party, but just in case anyone is still around... :) For me, mounting my local app files as a volume is useful during development since it keeps the workflow fast. I don't have to rebuild the image every time I want to try the app out, I get to use the new code without delay. If I were deploying as a container, I presume my build process would check the app out of git and build the image based on that fresh checkout. I'm just using Docker as a convenient way of simulating my production environment (dev'ing on Ubuntu 15.04, but deploying to Debian 7), and still be able to iterate rapidly.
- icebraining 11y agoAh, fair enough, I was really thinking about shared, deployable images. I suppose this use case makes sense.
- rikrassen 11y agoFor some reason I found docker very unintuitive, even writing a simple build script was confusing. I agree, this book would have done a much better job of introduction than the docker site.
- zwischenzug 11y agoOut of interest, what did you find confusing/unintuitive? I'm writing a book on Docker so am interested in where the pain points are.
- rikrassen 11y agoIt was mostly how we wanted to use it at my company. It didn't seem clear whether docker should just set up the system (apt-get, pip install) or also checkout the code. To add to the complexity, we have a puppet script we run on the machine to install dependencies. I had no idea how Docker who supposed to fit into this pipeline. So basically, I didn't know what docker was supposed to be good at, i.e. do better than other tools.
- zwischenzug 11y agoInteresting. You might be interested in my blog and book: http://zwischenzugs.wordpress.com/ http://zwischenzugs.wordpress.com/ There are links through there to my book, where the first chapter is free to download, and may help. Let me know if you have any feedback.
- phunkystuff 11y agoWhat's the overloaded term you're talking about?
- runemadsen 11y agoYes, this is extremely helpful.
- ArcticCelt 11y agoWhen I want to understand in a few lines some business or software, I normaly avoid their web site because it's usually just riddled with buz words and a sales funnel to force you to register or get some trial without even understanding what it is or how it costs. For a good 2-3 sentences description I go on Wikipedia when available.
- plumeria 11y agoThe introduction on this PDF is a good complement: https://d0.awsstatic.com/whitepapers/docker-on-aws.pdf https://d0.awsstatic.com/whitepapers/docker-on-aws.pdf
- pronoiac 11y agoHuh, the "Images and layers" section is 404'ing. Edit: ah, here it is - https://github.com/odewahn/docker-jumpstart/blob/master/public/docker-images.md https://github.com/odewahn/docker-jumpstart/blob/master/publ... Edit: filed a PR
- deleted 11y ago[deleted]
- libria 11y agoA topic specific forum, stackoverflow or google-groups is a better place for Q/A troubleshooting. We try to keep this thread relevant to the article.
- deleted 11y ago[deleted]
- juliangregorian 11y agoDocker doesn't actually use LXC anymore.
- hanlec 11y agoI never really got to play extensively with Docker mainly because I have found the setup of OS X not quite friendly. While I understand the value of Docker, basically booting up a VMware/VirtualBox image was faster for my own use. I'll have to give boot2docker a try to see if it is changing things. Having a good guide will definitely help.
- grokavi 11y agoGive Docker Machine a try https://docs.docker.com/machine/ https://docs.docker.com/machine/ Machine makes it really easy to create Docker hosts on your computer, on cloud providers and inside your own data center. It creates servers, installs Docker on them, then configures the Docker client to talk to them. Kitematic is another option https://kitematic.com https://kitematic.com
- laex 11y agoFor some reason, when using docker machine on a mac, the VM always fails to start and freezes at the "VM starting" phase. For this reason, I've had to switch back to boot2docker.
- zenlikethat 11y agoSuper sorry to hear - we've had some issues with VirtualBox around networking and some setups we didn't anticipate -- Would be really appreciative if you'd give the latest 0.3.0 release candidate a whirl and see if it fixes the issue for you: https://github.com/docker/machine/releases https://github.com/docker/machine/releases.
- laex 11y agoYes, It looks like it has been fixed. I tried creating multiple VMS ( dev, staging ) a few times, and It worked properly. Thanks. Edit: I tried v0.3.0-rc2
- phunkystuff 11y ago
- j_m_b 11y agoThere is some outdated information on this site for boot2docker on Mac OS X. 1. You need to set more than just tcp://ip:2376. You need to run $ eval $(boot2docker shellinit) to also set vars for DOCKER_CERT_PATH 2. In order to get proper forwarding from your host Mac OS X to your boot2docker-vm, you use -P as a command line option for any containers you 'run'. Bonus docker gotcha: docker containers can't make fsync() calls on shared folders between your Mac and the boot2docker-vm. This means a lot of database software can't use a shared folder to store a database.
- pibefision 11y agoIs docker ready for production? Is someone using it on real production environments? Most recipes at Docker Registy are a mess, and with plenty of bugs
- nisa 11y agoI guess it depends on what you want to do.. I stopped caring and looking at docker after reading this: http://iops.io/blog/docker-hype/ http://iops.io/blog/docker-hype/ Using btrfs as cow is not ready for production (yet and likely not in the near future) - believing otherwise made the last few feeks quite miserable.
- icebraining 11y agoUsing btrfs as cow is not ready for production Yes, but it's not like they don't warn people. From the Docker docs: "This backend is pretty fast, however btrfs is still maturing and is not considered production ready for heavy write loads. Mounting /var/lib/docker on a different filesystem than the rest of your system is recommended in order to limit the impact of filesystem corruption. You would also want to mount the volume directory /var/lib/docker/vfs/ on a standard XFS or EXT4 filesystem to ensure container data is protected."
- olalonde 11y agoYep. Using it with Deis in production though I don't use Docker Registry images. Baidu is probably one of the largest production user.
- kimi 11y agoWe have been running hundreds of instances for the last couple of years, and so far, no big issues.
- joelanman 11y ago"Unlike a true VM, a docker container does not also require a host OS" Shouldn't that be guest OS?
- keslag 11y agoDocker on bare metal would be pretty nice though.
- deleted 11y ago[deleted]
- tehbeard 11y agoProbably the closest you'll get is this: http://rancher.com/rancher-os/ http://rancher.com/rancher-os/
- zwischenzug 11y agoYes. The one thing it does require is a host OS!
- laex 11y agoAnybody wanting to try out Docker + GoLang + AWS Beanstalk, I've made a sample app / guide here - https://github.com/OrganicCoffeeNepal/DockerBeanstalkSample https://github.com/OrganicCoffeeNepal/DockerBeanstalkSample
- brunoqc 11y agoThanks for the link. Is Beanstalk worth it? Is it cheaper than an ec2 instance?
- laex 11y agoI haven't done any systematic comparison to tell which one's cheaper. AWS allows 1 year of free tier service, so I'm using that. What I like about Beanstalk is that it's extremely easy to deploy updates. Just commit the changes and execute eb deploy. Setting up a new environment via. CLI is also a breeze.
- ajhit406 11y agoThe new Nitrous Pro (https://pro.nitrous.io https://pro.nitrous.io) has a docker template you can use if you don't feel like installing boot2docker locally. There's also a bunch of advanced docker options you can check out: http://docs.nitrous.io/v1.0/docs/advanced-container-management-options http://docs.nitrous.io/v1.0/docs/advanced-container-manageme... Would be a good compliment to the docker jumpstart manual.
- UserRights 11y agoWhen you start playing around with docker and come to the area where you start to see that many things that should be very easy start to be really complicated, then you should take a look at lxc and the upcoming lxd and compare.