Thanks for trying it out and for the feedback :). I'll try to address the various points.
Issue1) scary install instructions this is a fairly standard way to install packages where they are quickly moving and you want to be able to easily keep up with the changes. For example, here's the one for google-chrome http://www.ubuntuupdates.org/ppa/google_chrome. Here's an explanation of ppa's and what they are: http://askubuntu.com/questions/4983/what-are-ppas-and-how-do-i-use-them The digital ocean approach works, but it will not be something you can easily do an apt-get update/upgrade with. I'll go through the docker install steps here to explain them a little: I) you need the base packages and repo: Steps 1-3 are just adding some dependencies for pkg management and Step 4 is probably the scary one, it's adding the key for the repo so that the signing can be checked. This is actully a good thing :). Here's a bit of an explanation on repo keys: http://askubuntu.com/questions/131397/what-is-a-repository-key-under-ubuntu-and-how-do-they-work Step 7 - basically adds the repo by name for what release (14,15,16...) you are on. If you look in etc/apt/sources.list you will see many entries like it. For example, 'deb http://us.archive.ubuntu.com/ubuntu/ trusty multiverse' II) You need the kernel support for containers: Basically pull in the required kernel and reboot. III) Install docker. Now that everything is set up, this is back to the standard apt-get install docker-engine. update/upgrade will also work now :). IV) Add a docker group. This makes using the containers easier, so I'd recommend it. V) Add dns servers for your company or for google (8.8.8.8) in the docker startup file. Fox example in /etc/default/docker I have DOCKER_OPTS="--dns 10.x.x.y --dns 10.x.x.x" Note, it can cake a couple. Issue 2) Running the container So, a couple of things to address here. a) The naming convention is toaster-release - for example crops/toaster-krogoth and crops/toaster-master. toaster defaults to the last release version on the assumption that this is what a naive user might use and we wanted them to get the last release version since master is a tad cutting edge. b) running and workdir So when you run the container you should do something like $ mkdir ~/AnyDirname docker run -it --rm -p 127.0.0.1:18000:8000 -v ~/AnyDirname:/workdir crops/toaster-master the -v line maps whatever dir you want on your host to /workdir inside the container. In general, the first part of the -v command will vary as you use different host side directories. the second argument will always be /workdir unless you are using the container in a very advanced way. --- The master project build issue: Running master and getting git to work behind a proxy. I'd suggest people try to use chameleonsocks: https://hub.docker.com/r/crops/chameleonsocks/ https://github.com/crops/chameleonsocks A tldr version of installing this is https_proxy=https:// <https://proxy-chain.intel.com:912/> <comapnyproxy>:<port> wget https://raw.githubusercontent.com/crops/chameleonsocks/master/chameleonsocks.sh && chmod 755 chameleonsocks.sh https_proxy=https:// <https://proxy-chain.intel.com:912/> <companyproxy>:<port> PROXY=<companyproxy> PAC_URL=<company wpad file> ./chameleonsocks.sh --install The <company wpad file> is often something like http://wpad.mycompany.com/wpad.dat <http://wpad.intel.com/wpad.dat> This variable can also take a proxy.pac file instead Chameleonsocks is a container that encapsulates a project called redsocks that redirects all traffic through the SOCKS5 proxy. Once installed it proxies traffic for both the containers and the host. Note, for speed & load reasons, it is a good idea to set the http/https proxy in the browser separately rather than have the browser rely on chameleonsocks. Note, in order for it to work it is running in privileged mode and as net=host this means it looks more like a program/service and is not really containerized from the point of view of host isolation. ----- The local project build issue: This is a bug: https://bugzilla.yoctoproject.org/show_bug.cgi?id=10163 ---- Your takeaways make sense to me. Your questions: 1) the workdir can be names anything on the host side. so I can have $ mkdir ~/Duck and pass -v ~/Duck:/workdir to the container. This maps ~/Duck on the host so it looks like /workdir from inside the container. 2) Yes, we need this bug fixed ;) Hope this helped, -bavery an Intel employee On Thu, Aug 25, 2016 at 7:21 AM, Barros Pena, Belen < [email protected]> wrote: > > > On 24/08/2016 18:03, "[email protected] on behalf of Barros > Pena, Belen" <[email protected] on behalf of > [email protected]> wrote: > > > > > > >On 24/08/2016 17:12, "[email protected] on behalf of > Barros > >Pena, Belen" <[email protected] on behalf of > >[email protected]> wrote: > > > >>Brian: send a link to a CROPS instance we can try and the document on how > >>to run the Toaster Docker container > > > >Here come the links (thanks Brian): > > > >Toaster Docker containers: > >https://hub.docker.com/r/crops/toaster-krogoth/ > >https://hub.docker.com/r/crops/toaster-master/ > > > >Instructions: > >https://github.com/crops/toaster-container > > I gave the container a go this morning, and I wanted to tell you all about > it ... mainly for toaster manual writing purposes. > > First, I had to install Docker in Ubuntu 14.04. The Docker instructions > looked very scary > > https://docs.docker.com/engine/installation/linux/ubuntulinux/ > > Then someone told me they have a magic script that automates all those > steps > > https://www.digitalocean.com/community/tutorials/how-to- > install-and-use-doc > ker-compose-on-ubuntu-14-04 > > This works really well, but you do need to remember to add your user to > the docker group before you do anything else > > sudo usermod -aG docker $(whoami) > > > Then you have to log out and log back in for the group changes to take > effect. > > Since I am behind a proxy, I had to edit the /etc/default/docker file to > set http_proxy and https_proxy. I would have never managed this without > help. > > Then I pulled the container I wanted to try using the command provided at > > https://hub.docker.com/r/crops/toaster-master/ > > To run it, I followed the instructions here > > https://github.com/crops/toaster-container > > I created a workdir as /home/<user>/toaster-workdir > > Then I run the run command in the readme file like this > > docker run -it --rm -p 127.0.0.1:18000:8000 -v > /home/<user>/toaster-workdir:/toaster-workdir crops/toaster > > > That made Docker pull a different container. I didn't realise that > crops/toaster should have been crops/toaster-master in my case :/ > > So gave it another try with > > docker run -it --rm -p 127.0.0.1:18000:8000 -v > /home/<user>/toaster-workdir:/toaster-workdir crops/toaster-master > > > That failed saying the workdir directory didn't exist. So I deleted the > /home/<user>/toaster-workdir directory and created /home/<user>/workdir > instead. Then the run command as above worked like a charm, and the > container came up. I was able to access the container from another > computer at > > name_of_server_running_the_container:18000 > > > I created a project with the master release and started a build. Sadly > that failed during the cloning stage because I am behind a proxy, and I > was told I would need to configure the proxy in the container. I have no > idea how to do that. > > Then I thought I should try the local release instead. But once again, the > build failed, this time with this message: > > Existing git repository at /home/usersetup/poky, but with different > remotes ('origin http://git.yoctoproject.org/git/poky (fetch), > origin http://git.yoctoproject.org/git/poky (push), ', expected > 'git://git.yoctoproject.org/poky'). Toaster will not continue out of fear > of damaging something. > > > I stopped at this point, and wrote this email :) > > From the experience so far, when writing the content for the manual, it > might be handy to provide > > 1. Some instructions on how to easily install docker > 2. What to do if you are behind a proxy > > I also have a couple of questions: > > 1. Does the workdir have to be called "workdir"? Or did I do something > wrong? > 2. Do we need to fix the issue with the local project builds? > > Cheers > > Belén > > > > >Instructions for running tests (in progress): > >https://wiki.yoctoproject.org/wiki/TipsAndTricks/ > TestingToasterWithContain > >e > >rs > > > > > >-- > >_______________________________________________ > >toaster mailing list > >[email protected] > >https://lists.yoctoproject.org/listinfo/toaster > > -- > _______________________________________________ > toaster mailing list > [email protected] > https://lists.yoctoproject.org/listinfo/toaster >
-- _______________________________________________ toaster mailing list [email protected] https://lists.yoctoproject.org/listinfo/toaster
