What is the error you are seeing? It's possible that you have an existing
docker daemon running.

The steps to test would look something like:

Assume "docker-wrapper.sh" and "docker.service" below are from the linked
gists.

---
systemctl stop docker
cp docker-wrapper.sh /opt/bin/docker-wrapper.sh
chmod +x /opt/bin/docker-wrapper.sh
cp docker.service /etc/systemd/systemd/test-docker.service
systemctl daemon-reload
systemctl start test-docker

DOCKER_VERSION=1.9.1 /opt/bin/docker-wrapper version
---

Also note that there may be come incompatibilities between some versions of
docker (e.g. going from 1.11  to 1.9.1 likely means clearing existing data
in /var/lib/docker).

On Fri, Jun 3, 2016 at 3:46 PM, Kevin Ran <[email protected]> wrote:

> I'm just running the raw command that you have in that script with
> DOCKER_VERSION set to 1.9.1 on an existing node.
>
> Do I have to overwrite the existing docker.service in userdata in order
> for this to work? I could very well be doing something wrong.
>
> On Friday, June 3, 2016 at 5:24:08 PM UTC-4, Aaron Levy wrote:
>>
>> Hi Kevin,
>>
>> /usr/local/bin/docker-entrypoint.sh exists in the docker container itself
>> (docker://docker:1.9.1) -- not on the host filesystem. In this case we
>> don't want to use the dockerd binary on the host (/usr/lib/coreos/dockerd),
>> because the goal is to be able to run an alternative version of docker in a
>> rkt container.
>>
>> You should be able to use the docker-wrapper.sh script as linked -- but
>> if you're still having trouble can you add the usage / error you're seeing?
>>
>> On Fri, Jun 3, 2016 at 1:36 PM, Kevin Ran <[email protected]> wrote:
>>
>>> /usr/lib/coreos/dockerd also does not work. The original command just
>>> returns run: error parsing app image arguments: unknown flag: --host
>>>
>>> Tweaking it a bit:
>>>
>>> rkt run \
>>>   --volume etc,kind=host,source=/etc \
>>>   --mount volume=etc,target=/etc \
>>>   --volume var-lib-docker,kind=host,source=/var/lib \
>>>   --mount volume=var-lib-docker,target=/var/lib \
>>>   --volume run,kind=host,source=/run \
>>>   --mount volume=run,target=/run \
>>>   --volume var-run,kind=host,source=/var/run \
>>>   --mount volume=var-run,target=/var/run \
>>>   --volume usr-lib,kind=host,source=/usr/lib \
>>>   --mount volume=usr-lib,target=/usr/lib \
>>>   --volume usr-lib64,kind=host,source=/usr/lib64 \
>>>   --mount volume=usr-lib64,target=/usr/lib64 \
>>>   --volume lib64,kind=host,source=/lib64 \
>>>   --mount volume=lib64,target=/lib64 \
>>>   --volume usr-bin,kind=host,source=/usr/bin \
>>>   --mount volume=usr-bin,target=/usr/bin \
>>>   --volume usr-sbin,kind=host,source=/usr/sbin \
>>>   --mount volume=usr-sbin,target=/usr/sbin \
>>>   --volume etc-ssl-certs,kind=host,source=/usr/share/ca-certificates \
>>>   --mount volume=etc-ssl-certs,target=/etc/ssl/certs \
>>>   --net=host --inherit-env --insecure-options=image
>>> --stage1-path=/usr/share/rkt/stage1-fly.aci docker://docker:1.9.1 \
>>>   --exec /usr/lib/coreos/dockerd -- daemon --host=fd://
>>> image: using image from file /usr/share/rkt/stage1-fly.aci
>>> image: using image from local store for url docker://docker:1.9.1
>>> run: can't execute "/usr/lib/coreos/dockerd": no such file or directory
>>>
>>> On Friday, June 3, 2016 at 4:29:55 PM UTC-4, Kevin Ran wrote:
>>>>
>>>> /usr/local/bin/docker-entrypoint.sh isn't a file on the latest AMI.
>>>> Should that be replaced with the daemon bin?
>>>>
>>>> On Thursday, June 2, 2016 at 6:58:09 PM UTC-4, Aaron Levy wrote:
>>>>>
>>>>> Hi All,
>>>>>
>>>>> I've been doing some testing of running Docker inside a rkt (fly)
>>>>> container. Part of the reason for this is to be able to run various Docker
>>>>> versions that are not currently shipping within the CoreOS release.
>>>>>
>>>>> I wanted to share the (somewhat hack-ish) process so far, and see if
>>>>> anyone else is interested in testing / has feedback / finds interesting
>>>>> ways this is broken.
>>>>>
>>>>> The starting point (thanks Brandon):
>>>>> https://gist.github.com/philips/4ba6f9888499266b0ab09d95991e6784
>>>>>
>>>>> I've broken the above into two pieces, a wrapper script and the
>>>>> service file, to allow for running docker commands on the cli easier:
>>>>>
>>>>>
>>>>> https://gist.github.com/aaronlevy/1211c6bb69d9cc60d8965f8733963c13#file-docker-wrapper-sh
>>>>>
>>>>> https://gist.github.com/aaronlevy/1211c6bb69d9cc60d8965f8733963c13#file-docker-service
>>>>>
>>>>> For example:
>>>>>
>>>>> DOCKER_VERSION=1.9.1 /opt/bin/docker-wrapper version
>>>>> DOCKER_VERSION=1.9.1 /opt/bin/docker-wrapper run -it busybox /bin/sh
>>>>>
>>>>> I've also added a bind mount for root certificates:
>>>>>
>>>>> https://gist.github.com/aaronlevy/1211c6bb69d9cc60d8965f8733963c13#file-docker-wrapper-sh-L34
>>>>>
>>>>> At this point it seems to be working reasonably well based on some
>>>>> initial testing with the coreos-kubernetes single-node installation
>>>>> (running CoreOS alpha with Docker 1.9.1):
>>>>>
>>>>>
>>>>> https://github.com/coreos/coreos-kubernetes/compare/master...aaronlevy:docker-in-rkt
>>>>>
>>>>
>>

Reply via email to