Hi Matthias, I'm going to attempt to answer as many questions that I have answers to. Please see my replies in-line below.
… On Wed, Jan 20, 2016 at 11:18 PM Matthias Götzke <[email protected]> wrote: > Can anybody shed some light on these Docker questions we are facing in > relation to Smartos and Triton (we are also just learning how to apply > Docker to our existing dev workflows as some questions might betray 😊 ) > ? It is our understanding that SmartOS really wants to work well with > Docker but we cannot yet see a clear path ahead as to how to actually use > it without using KVMs again or running on directly on linux and thus > loosing ZFS. > > > > Questions: > > > > 1) Are there any plans on supporting docker daemon in a smartos/lx > zone in the future ? > > (Right now we get errors such as ‘overlay’ not found as a supported > filesystem on this host) > 2) I see how I can use > https://github.com/joyent/smartos-live/tree/master/src/dockerinit to > start a process but what exactly makes this docker ? How can I push a > container there or talk to it from my dev machine etc ? > Are you trying to use Docker without SDC? Typically, you would use it in conjunction with SDC and set your DOCKER_HOST environment variable to the appropriate value for your SDC installation. As to how to do this in stand-alone SmartOS, I can't comment. … > 3) Getting started in Triton with containers was quite simple (after > understanding some limitations such as port mapping missing, not a big deal > but many examples in docker use that and thus you stumble here at first), > but how do I get snapshots made in Triton a’la zsnapper. Can I make a > snapshot copy of a container to test a configuration change ? > > 4) Can I somehow zfs diff backup a container in Triton as is , to > ensure a perfect replica ? > > 5) Does Triton have some kind of dynamic DNS service which I could > point to a container ? > There is one coming out soon. This describes the functionality offered: https://github.com/joyent/rfd/blob/master/rfd/0001/README.md … > 6) How do I handle data-volumes on Triton if Joyent doesn’t like > volume-from and there is not real ‘host’ (BrianC talked about no liking > that). Our Server Data Core Code is a web-service which has its shard of > data (append only file structure) collocated with it right now. In Docker > we would use data volumes but I don’t want to go over the network from the > code to the data. The whole point of our setup was to keep code and data > together. > The answer to this depends a lot on your use case. With traditional Docker folder mounted volumes it is important to remember that you can never scale that particular folder to more than one host, so this limits your architectural possibilities. That said, there are a number of options that I have used: 1. Use a data volume ( https://docs.docker.com/engine/userguide/dockervolumes/). Data volumes are containers without compute associated with them. You can attach them to a single container but you can't share them with two containers at the same time. 2. Use an object store like Manta. This will typically require coding your application such that it will support the object store. I believe that this is the best choice in most scenarios if your environment permits it. This approach will allow you to tune your brownout and blackout scenarios to fit the SLA of your application. 3. Use a distributed file system like Syncthing (https://syncthing.net/). This works well with applications like Wordpress or Drupal that handle user uploads. If you do this in conjunction with your load balancer's routing strategy being set up to route client requests from the same system to the same back-end, you will not have any degradation during the gap between upload and cross host synchronization. 4. Use a replicating data store like Couchbase. These type of data stores fit well because you don't need to rely on detaching data volumes because you can always spin up new hosts and rebalance the data onto them. … > > > Any help or pointers would be greatly appreciated. I hope there are at > least some people here how are interested in Docker on SmartOS 😉 or have > more experience with it. > Be sure to read the divergence documentation: https://github.com/joyent/sdc-docker/blob/master/docs/api/divergence.md Be sure to tune your application's thread pools (or GC) because if it is auto-tuning based on the number of detected processors/cores, then it will be not be tuned properly. Checkout the /native directory. You get a bunch of great utilities for free in your Docker container like dtrace and prstat. > … > > > Thanks, > > Matthias > > > > Background: > > > > I am experimenting with docker on sdc as well as docker directly on our > smartos hosts but are having a number of questions. > > > > We are currently hosting a number of smartos servers in datacenters in > Germany and some directly inside customers DCs. Right now we have a pretty > well working setup with SmartOS zones preconfigured by Chef directly from > Git on our master servers and then we can transport those as imgadm Images > to our customer or the other DC sites. Automatic Snapshotting is performed > by zsnapper and Backup is done via zfs send -I to the dedicated backup > machines. We can quickly spin up any backuped up machine somewhere else if > we needed to, > > > > In the future though, we are looking at moving our software application to > docker to streamline some processes there and docker/smartos looked like a > great thing (also in case one of our applications would have to be moved to > an actual cloud provider such as Joyent ‘Triton’). But the amount of > available documentation on getting docker to replace our current setup is a > little elusive. > > > > > > PS: > We do not currently have plans to setup a full SDC (mostly because we > cannot appropriately judge how much know-how we will have to build up and > how long that would take as well as the fact that 1) we don’t have head > nodes setup in the datacenter, thus new hardware would be required and 2) > the SDC UI isn’t open source it seems and 3) the whole backup/zfs > management of sdc is unclear). I am not unwilling but no matter how easy it > is, it will be more complicated and thus more to learn than just learning > how to running docker host in a vm, knowledge we would have to gain,retain > and update regularly > If you get to the point where the only thing holding you back is the SDC UI, please contact Joyent - they will be willing to work with you. ------------------------------------------- smartos-discuss Archives: https://www.listbox.com/member/archive/184463/=now RSS Feed: https://www.listbox.com/member/archive/rss/184463/25769125-55cfbc00 Modify Your Subscription: https://www.listbox.com/member/?member_id=25769125&id_secret=25769125-7688e9fb Powered by Listbox: http://www.listbox.com
