You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@karaf.apache.org by Jean-Baptiste Onofré <jb...@nanthrax.net> on 2015/10/15 14:09:42 UTC

Re: [DISCUSSION] Karaf docker.io

Hi guys,

let me "relaunch" this very old thread ;)

Even if most of us already use docker to run Karaf, I think that 
karaf-docker could be a key and very interesting combination with 
karaf-boot.

Imagine the following scenario:
- you construct your application thanks to karaf-boot (and the different 
starters, karaf-boot-maven-plugin, etc)
- using your codebase, and the different starters that you use, the 
karaf-boot-maven-plugin creates a Karaf custom distribution for you
- now, you can directly start your Karaf custom distribution on your 
machines, your cloud, or docker: it's where karaf-docker can help.
In addition of the Karaf custom distribution, karaf-docker (and so the 
karaf-docker-plugin that could be part of karaf-boot) can provide a 
ready to run docker image with your custom Karaf distribution: you don't 
have to prepare anything, the dockerfile, or whatever, it will be done 
for you.

Of course, we keep the current features part of karaf-docker (the fact 
to manage docker images directly in Karaf). I would like to add a new 
set of features in karaf-docker: be able to create "business oriented" 
Karaf (based on the first point). For instance, you want a Karaf 
WebContainer, Karaf Hibernate, just use docker:create command to create 
a custom Karaf distribution in a docker image, this distribution will 
have "pre-installed/bootFeatures" as you described in the shell command.

Basically, karaf-boot and karaf-docker are in the same boat to provide 
more user experience, flexible systems (profiles oriented) and killer 
services platform.

I know that it's ambitious, but I trust in you all guys to help and 
drive Karaf to a new dimension.

Thoughts ?

Regards
JB

On 02/11/2015 08:43 PM, Jean-Baptiste Onofré wrote:
> Hi all,
>
> In order to provide an alternative to the instances, I started to work
> on a small PoC providing simple and convenient docker.io support in Karaf.
>
> The purpose is to easily manage images, containers, and be able to
> provision/create container with Karaf instances.
>
> For instance, this is a current available use case:
>
> 1/ You can create a docker.io container in two ways:
> 1.1/ karaf@root()> docker:bootstrap mydock
> creates a fresh docker.io container using karaf:3.0.3 image. I prepared
> different ready to use docker.io images for Karaf. I'm working on an
> embedded docker hub, with the appropriate commands to administrate it.
> 1.2/ karaf@root()> docker:provision mydock
> creates a docker.io container (using a karaf image) and copy the current
> running instance in the dock.
> 1.3/ It's also possible to start from a dockerfile.
> 2/ Once the dock (I named it dock meaning docker.io container where a
> karaf instance is living) is ready, you can control it using
> docker:start, docker:stop, docker:delete commands.
> 3/ it's possible to connect to a running dock using docker:connect command
>
> I'm working on docker:image*, docker:hub, and improve the existing
> docker* features.
>
> However, before moving forward on this, I would like to know if it makes
> sense and if people are interested by it.
>
> By the way, the code is on my github:
> http://github.com/jbonofre/karaf-docker.
>
> I will push my last changes tomorrow morning.
>
> Any comment is welcome.
>
> Thanks,
> Regards
> JB

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Re: [DISCUSSION] Karaf docker.io

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
That's the plan: once you have custom distro, we can easily generate the 
dockerfile or docker image.

Regards
JB

On 10/18/2015 09:21 AM, Achim Nierbeck wrote:
> Hi,
>
> just one hint, pushing docker images can already be done with this maven
> plugin: docker-maven-plugin [1]
> I used it for my showcase for apachecon. [2]
>
> besides, yes it would be nice to have a way of assembling a custom karaf
> docker distribution.
> Maybe even out of the karaf-boot-starter-*'s.
> As I said in the karaf boot thread, it would be cool if we can assembly a
> custom distribution based on the profiles in
> the combined karaf-boot-starter-* modules, at that point it's most likely
> no big hassle to generate a docker image of that too.
>
> [1] - https://github.com/rhuss/docker-maven-plugin
> [2] -
> https://github.com/ANierbeck/Karaf-Microservices-Tooling/blob/master/Karaf-Service-Docker/pom.xml#L27-L87
>
> 2015-10-15 14:36 GMT+02:00 Jean-Baptiste Onofré <jb...@nanthrax.net>:
>
>> You got the points Serge ;)
>>
>> Regards
>> JB
>>
>>
>> On 10/15/2015 02:34 PM, Serge Huber wrote:
>>
>>> I love it ! Is it production ready ?… uh wait docker is not :)
>>>
>>> More seriously, between this and karaf-boot I think that the story in
>>> terms of starting to deploying a project can really be improved greatly. We
>>> could then even push the docker images to a docker repository.
>>>
>>> That way you can launch Docker Unomi instances in a large cluster with
>>> just a few CLI instructions :)
>>>
>>> cheers,
>>>     Serge…
>>>
>>> On 15 oct. 2015, at 14:09, Jean-Baptiste Onofré <jb...@nanthrax.net> wrote:
>>>>
>>>> Hi guys,
>>>>
>>>> let me "relaunch" this very old thread ;)
>>>>
>>>> Even if most of us already use docker to run Karaf, I think that
>>>> karaf-docker could be a key and very interesting combination with
>>>> karaf-boot.
>>>>
>>>> Imagine the following scenario:
>>>> - you construct your application thanks to karaf-boot (and the different
>>>> starters, karaf-boot-maven-plugin, etc)
>>>> - using your codebase, and the different starters that you use, the
>>>> karaf-boot-maven-plugin creates a Karaf custom distribution for you
>>>> - now, you can directly start your Karaf custom distribution on your
>>>> machines, your cloud, or docker: it's where karaf-docker can help.
>>>> In addition of the Karaf custom distribution, karaf-docker (and so the
>>>> karaf-docker-plugin that could be part of karaf-boot) can provide a ready
>>>> to run docker image with your custom Karaf distribution: you don't have to
>>>> prepare anything, the dockerfile, or whatever, it will be done for you.
>>>>
>>>> Of course, we keep the current features part of karaf-docker (the fact
>>>> to manage docker images directly in Karaf). I would like to add a new set
>>>> of features in karaf-docker: be able to create "business oriented" Karaf
>>>> (based on the first point). For instance, you want a Karaf WebContainer,
>>>> Karaf Hibernate, just use docker:create command to create a custom Karaf
>>>> distribution in a docker image, this distribution will have
>>>> "pre-installed/bootFeatures" as you described in the shell command.
>>>>
>>>> Basically, karaf-boot and karaf-docker are in the same boat to provide
>>>> more user experience, flexible systems (profiles oriented) and killer
>>>> services platform.
>>>>
>>>> I know that it's ambitious, but I trust in you all guys to help and
>>>> drive Karaf to a new dimension.
>>>>
>>>> Thoughts ?
>>>>
>>>> Regards
>>>> JB
>>>>
>>>> On 02/11/2015 08:43 PM, Jean-Baptiste Onofré wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> In order to provide an alternative to the instances, I started to work
>>>>> on a small PoC providing simple and convenient docker.io support in
>>>>> Karaf.
>>>>>
>>>>> The purpose is to easily manage images, containers, and be able to
>>>>> provision/create container with Karaf instances.
>>>>>
>>>>> For instance, this is a current available use case:
>>>>>
>>>>> 1/ You can create a docker.io container in two ways:
>>>>> 1.1/ karaf@root()> docker:bootstrap mydock
>>>>> creates a fresh docker.io container using karaf:3.0.3 image. I prepared
>>>>> different ready to use docker.io images for Karaf. I'm working on an
>>>>> embedded docker hub, with the appropriate commands to administrate it.
>>>>> 1.2/ karaf@root()> docker:provision mydock
>>>>> creates a docker.io container (using a karaf image) and copy the
>>>>> current
>>>>> running instance in the dock.
>>>>> 1.3/ It's also possible to start from a dockerfile.
>>>>> 2/ Once the dock (I named it dock meaning docker.io container where a
>>>>> karaf instance is living) is ready, you can control it using
>>>>> docker:start, docker:stop, docker:delete commands.
>>>>> 3/ it's possible to connect to a running dock using docker:connect
>>>>> command
>>>>>
>>>>> I'm working on docker:image*, docker:hub, and improve the existing
>>>>> docker* features.
>>>>>
>>>>> However, before moving forward on this, I would like to know if it makes
>>>>> sense and if people are interested by it.
>>>>>
>>>>> By the way, the code is on my github:
>>>>> http://github.com/jbonofre/karaf-docker.
>>>>>
>>>>> I will push my last changes tomorrow morning.
>>>>>
>>>>> Any comment is welcome.
>>>>>
>>>>> Thanks,
>>>>> Regards
>>>>> JB
>>>>>
>>>>
>>>> --
>>>> Jean-Baptiste Onofré
>>>> jbonofre@apache.org
>>>> http://blog.nanthrax.net
>>>> Talend - http://www.talend.com
>>>>
>>>
>>>
>> --
>> Jean-Baptiste Onofré
>> jbonofre@apache.org
>> http://blog.nanthrax.net
>> Talend - http://www.talend.com
>>
>
>
>

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Re: [DISCUSSION] Karaf docker.io

Posted by Achim Nierbeck <bc...@googlemail.com>.
Hi,

just one hint, pushing docker images can already be done with this maven
plugin: docker-maven-plugin [1]
I used it for my showcase for apachecon. [2]

besides, yes it would be nice to have a way of assembling a custom karaf
docker distribution.
Maybe even out of the karaf-boot-starter-*'s.
As I said in the karaf boot thread, it would be cool if we can assembly a
custom distribution based on the profiles in
the combined karaf-boot-starter-* modules, at that point it's most likely
no big hassle to generate a docker image of that too.

[1] - https://github.com/rhuss/docker-maven-plugin
[2] -
https://github.com/ANierbeck/Karaf-Microservices-Tooling/blob/master/Karaf-Service-Docker/pom.xml#L27-L87

2015-10-15 14:36 GMT+02:00 Jean-Baptiste Onofré <jb...@nanthrax.net>:

> You got the points Serge ;)
>
> Regards
> JB
>
>
> On 10/15/2015 02:34 PM, Serge Huber wrote:
>
>> I love it ! Is it production ready ?… uh wait docker is not :)
>>
>> More seriously, between this and karaf-boot I think that the story in
>> terms of starting to deploying a project can really be improved greatly. We
>> could then even push the docker images to a docker repository.
>>
>> That way you can launch Docker Unomi instances in a large cluster with
>> just a few CLI instructions :)
>>
>> cheers,
>>    Serge…
>>
>> On 15 oct. 2015, at 14:09, Jean-Baptiste Onofré <jb...@nanthrax.net> wrote:
>>>
>>> Hi guys,
>>>
>>> let me "relaunch" this very old thread ;)
>>>
>>> Even if most of us already use docker to run Karaf, I think that
>>> karaf-docker could be a key and very interesting combination with
>>> karaf-boot.
>>>
>>> Imagine the following scenario:
>>> - you construct your application thanks to karaf-boot (and the different
>>> starters, karaf-boot-maven-plugin, etc)
>>> - using your codebase, and the different starters that you use, the
>>> karaf-boot-maven-plugin creates a Karaf custom distribution for you
>>> - now, you can directly start your Karaf custom distribution on your
>>> machines, your cloud, or docker: it's where karaf-docker can help.
>>> In addition of the Karaf custom distribution, karaf-docker (and so the
>>> karaf-docker-plugin that could be part of karaf-boot) can provide a ready
>>> to run docker image with your custom Karaf distribution: you don't have to
>>> prepare anything, the dockerfile, or whatever, it will be done for you.
>>>
>>> Of course, we keep the current features part of karaf-docker (the fact
>>> to manage docker images directly in Karaf). I would like to add a new set
>>> of features in karaf-docker: be able to create "business oriented" Karaf
>>> (based on the first point). For instance, you want a Karaf WebContainer,
>>> Karaf Hibernate, just use docker:create command to create a custom Karaf
>>> distribution in a docker image, this distribution will have
>>> "pre-installed/bootFeatures" as you described in the shell command.
>>>
>>> Basically, karaf-boot and karaf-docker are in the same boat to provide
>>> more user experience, flexible systems (profiles oriented) and killer
>>> services platform.
>>>
>>> I know that it's ambitious, but I trust in you all guys to help and
>>> drive Karaf to a new dimension.
>>>
>>> Thoughts ?
>>>
>>> Regards
>>> JB
>>>
>>> On 02/11/2015 08:43 PM, Jean-Baptiste Onofré wrote:
>>>
>>>> Hi all,
>>>>
>>>> In order to provide an alternative to the instances, I started to work
>>>> on a small PoC providing simple and convenient docker.io support in
>>>> Karaf.
>>>>
>>>> The purpose is to easily manage images, containers, and be able to
>>>> provision/create container with Karaf instances.
>>>>
>>>> For instance, this is a current available use case:
>>>>
>>>> 1/ You can create a docker.io container in two ways:
>>>> 1.1/ karaf@root()> docker:bootstrap mydock
>>>> creates a fresh docker.io container using karaf:3.0.3 image. I prepared
>>>> different ready to use docker.io images for Karaf. I'm working on an
>>>> embedded docker hub, with the appropriate commands to administrate it.
>>>> 1.2/ karaf@root()> docker:provision mydock
>>>> creates a docker.io container (using a karaf image) and copy the
>>>> current
>>>> running instance in the dock.
>>>> 1.3/ It's also possible to start from a dockerfile.
>>>> 2/ Once the dock (I named it dock meaning docker.io container where a
>>>> karaf instance is living) is ready, you can control it using
>>>> docker:start, docker:stop, docker:delete commands.
>>>> 3/ it's possible to connect to a running dock using docker:connect
>>>> command
>>>>
>>>> I'm working on docker:image*, docker:hub, and improve the existing
>>>> docker* features.
>>>>
>>>> However, before moving forward on this, I would like to know if it makes
>>>> sense and if people are interested by it.
>>>>
>>>> By the way, the code is on my github:
>>>> http://github.com/jbonofre/karaf-docker.
>>>>
>>>> I will push my last changes tomorrow morning.
>>>>
>>>> Any comment is welcome.
>>>>
>>>> Thanks,
>>>> Regards
>>>> JB
>>>>
>>>
>>> --
>>> Jean-Baptiste Onofré
>>> jbonofre@apache.org
>>> http://blog.nanthrax.net
>>> Talend - http://www.talend.com
>>>
>>
>>
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>



-- 

Apache Member
Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
Project Lead
blog <http://notizblog.nierbeck.de/>
Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>

Software Architect / Project Manager / Scrum Master

Re: [DISCUSSION] Karaf docker.io

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
You got the points Serge ;)

Regards
JB

On 10/15/2015 02:34 PM, Serge Huber wrote:
> I love it ! Is it production ready ?… uh wait docker is not :)
>
> More seriously, between this and karaf-boot I think that the story in terms of starting to deploying a project can really be improved greatly. We could then even push the docker images to a docker repository.
>
> That way you can launch Docker Unomi instances in a large cluster with just a few CLI instructions :)
>
> cheers,
>    Serge…
>
>> On 15 oct. 2015, at 14:09, Jean-Baptiste Onofré <jb...@nanthrax.net> wrote:
>>
>> Hi guys,
>>
>> let me "relaunch" this very old thread ;)
>>
>> Even if most of us already use docker to run Karaf, I think that karaf-docker could be a key and very interesting combination with karaf-boot.
>>
>> Imagine the following scenario:
>> - you construct your application thanks to karaf-boot (and the different starters, karaf-boot-maven-plugin, etc)
>> - using your codebase, and the different starters that you use, the karaf-boot-maven-plugin creates a Karaf custom distribution for you
>> - now, you can directly start your Karaf custom distribution on your machines, your cloud, or docker: it's where karaf-docker can help.
>> In addition of the Karaf custom distribution, karaf-docker (and so the karaf-docker-plugin that could be part of karaf-boot) can provide a ready to run docker image with your custom Karaf distribution: you don't have to prepare anything, the dockerfile, or whatever, it will be done for you.
>>
>> Of course, we keep the current features part of karaf-docker (the fact to manage docker images directly in Karaf). I would like to add a new set of features in karaf-docker: be able to create "business oriented" Karaf (based on the first point). For instance, you want a Karaf WebContainer, Karaf Hibernate, just use docker:create command to create a custom Karaf distribution in a docker image, this distribution will have "pre-installed/bootFeatures" as you described in the shell command.
>>
>> Basically, karaf-boot and karaf-docker are in the same boat to provide more user experience, flexible systems (profiles oriented) and killer services platform.
>>
>> I know that it's ambitious, but I trust in you all guys to help and drive Karaf to a new dimension.
>>
>> Thoughts ?
>>
>> Regards
>> JB
>>
>> On 02/11/2015 08:43 PM, Jean-Baptiste Onofré wrote:
>>> Hi all,
>>>
>>> In order to provide an alternative to the instances, I started to work
>>> on a small PoC providing simple and convenient docker.io support in Karaf.
>>>
>>> The purpose is to easily manage images, containers, and be able to
>>> provision/create container with Karaf instances.
>>>
>>> For instance, this is a current available use case:
>>>
>>> 1/ You can create a docker.io container in two ways:
>>> 1.1/ karaf@root()> docker:bootstrap mydock
>>> creates a fresh docker.io container using karaf:3.0.3 image. I prepared
>>> different ready to use docker.io images for Karaf. I'm working on an
>>> embedded docker hub, with the appropriate commands to administrate it.
>>> 1.2/ karaf@root()> docker:provision mydock
>>> creates a docker.io container (using a karaf image) and copy the current
>>> running instance in the dock.
>>> 1.3/ It's also possible to start from a dockerfile.
>>> 2/ Once the dock (I named it dock meaning docker.io container where a
>>> karaf instance is living) is ready, you can control it using
>>> docker:start, docker:stop, docker:delete commands.
>>> 3/ it's possible to connect to a running dock using docker:connect command
>>>
>>> I'm working on docker:image*, docker:hub, and improve the existing
>>> docker* features.
>>>
>>> However, before moving forward on this, I would like to know if it makes
>>> sense and if people are interested by it.
>>>
>>> By the way, the code is on my github:
>>> http://github.com/jbonofre/karaf-docker.
>>>
>>> I will push my last changes tomorrow morning.
>>>
>>> Any comment is welcome.
>>>
>>> Thanks,
>>> Regards
>>> JB
>>
>> --
>> Jean-Baptiste Onofré
>> jbonofre@apache.org
>> http://blog.nanthrax.net
>> Talend - http://www.talend.com
>

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Re: [DISCUSSION] Karaf docker.io

Posted by Serge Huber <sh...@jahia.com>.
I love it ! Is it production ready ?… uh wait docker is not :) 

More seriously, between this and karaf-boot I think that the story in terms of starting to deploying a project can really be improved greatly. We could then even push the docker images to a docker repository.

That way you can launch Docker Unomi instances in a large cluster with just a few CLI instructions :) 

cheers,
  Serge… 

> On 15 oct. 2015, at 14:09, Jean-Baptiste Onofré <jb...@nanthrax.net> wrote:
> 
> Hi guys,
> 
> let me "relaunch" this very old thread ;)
> 
> Even if most of us already use docker to run Karaf, I think that karaf-docker could be a key and very interesting combination with karaf-boot.
> 
> Imagine the following scenario:
> - you construct your application thanks to karaf-boot (and the different starters, karaf-boot-maven-plugin, etc)
> - using your codebase, and the different starters that you use, the karaf-boot-maven-plugin creates a Karaf custom distribution for you
> - now, you can directly start your Karaf custom distribution on your machines, your cloud, or docker: it's where karaf-docker can help.
> In addition of the Karaf custom distribution, karaf-docker (and so the karaf-docker-plugin that could be part of karaf-boot) can provide a ready to run docker image with your custom Karaf distribution: you don't have to prepare anything, the dockerfile, or whatever, it will be done for you.
> 
> Of course, we keep the current features part of karaf-docker (the fact to manage docker images directly in Karaf). I would like to add a new set of features in karaf-docker: be able to create "business oriented" Karaf (based on the first point). For instance, you want a Karaf WebContainer, Karaf Hibernate, just use docker:create command to create a custom Karaf distribution in a docker image, this distribution will have "pre-installed/bootFeatures" as you described in the shell command.
> 
> Basically, karaf-boot and karaf-docker are in the same boat to provide more user experience, flexible systems (profiles oriented) and killer services platform.
> 
> I know that it's ambitious, but I trust in you all guys to help and drive Karaf to a new dimension.
> 
> Thoughts ?
> 
> Regards
> JB
> 
> On 02/11/2015 08:43 PM, Jean-Baptiste Onofré wrote:
>> Hi all,
>> 
>> In order to provide an alternative to the instances, I started to work
>> on a small PoC providing simple and convenient docker.io support in Karaf.
>> 
>> The purpose is to easily manage images, containers, and be able to
>> provision/create container with Karaf instances.
>> 
>> For instance, this is a current available use case:
>> 
>> 1/ You can create a docker.io container in two ways:
>> 1.1/ karaf@root()> docker:bootstrap mydock
>> creates a fresh docker.io container using karaf:3.0.3 image. I prepared
>> different ready to use docker.io images for Karaf. I'm working on an
>> embedded docker hub, with the appropriate commands to administrate it.
>> 1.2/ karaf@root()> docker:provision mydock
>> creates a docker.io container (using a karaf image) and copy the current
>> running instance in the dock.
>> 1.3/ It's also possible to start from a dockerfile.
>> 2/ Once the dock (I named it dock meaning docker.io container where a
>> karaf instance is living) is ready, you can control it using
>> docker:start, docker:stop, docker:delete commands.
>> 3/ it's possible to connect to a running dock using docker:connect command
>> 
>> I'm working on docker:image*, docker:hub, and improve the existing
>> docker* features.
>> 
>> However, before moving forward on this, I would like to know if it makes
>> sense and if people are interested by it.
>> 
>> By the way, the code is on my github:
>> http://github.com/jbonofre/karaf-docker.
>> 
>> I will push my last changes tomorrow morning.
>> 
>> Any comment is welcome.
>> 
>> Thanks,
>> Regards
>> JB
> 
> -- 
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com