How to add LinkedIn's Burrow to a Docker Compose? - docker

It appears LinkedIn doesn't have an official Burrow docker image on Docker Hub, but there are others who have forked it.
However, I can't find any examples of how to add any of them to a docker compose file that spins up ZK and Kafka something like this.
What am I missing?

It appears LinkedIn doesn't have an official Burrow docker image on Docker Hub
No, and while #toddpalino is one of the maintainers of Burrow, and has it on his Docker Hub account he states that providing a Docker image is not a core tenant of the project
In any case, there is a Docker Compose file in the Github repo, so you're welcome to clone the project and build an image yourself. I have opened a PR to make the README more clear that it does exists.
Regarding the configuration, the TOML file is linked into /etc/burrow of the container, and you would need to edit that file locally, and use a Compose volume mount to connect to an externally available Kafka broker or container.

Related

How to deploy the REST server in hyperledger composer since all the containers in Docker Hub have been removed?

as we can see in https://hub.docker.com/r/hyperledger/composer-rest-server/tags all the docker containers in Hyperledger composer rest server images are removed. how are we supposed to deploy the rest server,as the official documentation says doing so this way.
Composer has been sunset (it's been deprecated for a while) and it looks like all the docker hub images have been removed now.
Any documentation referring to using the docker images (rest server, cli, playground) won't work.
The source code for composer https://github.com/hyperledger/composer contains the Dockerfile's so you can always use them to build your own local docker image.

find base image or ''source in docker hub'' for an image in local

The project I am working have its docker images built from
FROM java:8-jre
Now I am writing a new service and though I can also make java:8-jre base image for my service. But I wanted to find out from where it was taken at the first place. As on docker hub I see only openjdk or oracle one is available.
Also if I do like below it is downloaded from docker hub (I guess, As I tried on my local as well), But cant see it on dockerHub(why?)
docker pull java:8-jre
Is there any way, I can search this image at docker hub or find its source with something like below -
docker image inspect java:8-jre
This image belongs to the official java repository, which is deprecated in favor of openjdk repository.
Accessing this repo will redirect you to the openjdk page.
But you can have a glimpse of java repo page here.
You can still find the Dockerfile for your image here.
Information which you need will be available in Dockerfile for that particular image.
I didn't find any image with name java:8-jre in docker hub.
Closest which I found was
https://hub.docker.com/r/fiadliel/java8-jre/
To see steps of Dockerfile for that Image build try this
docker image history --no-trunc image_name > image_history

wso2 api manager Docker image needs paid subscription

I am planning to use WSO2 API Manager for a client...Planning to use the API Manager Docker image for hosting it..
But it looks like to use API Manager docker image ,I need to have paid subscription once the trial period ends..
https://wso2.com/api-management/install/docker/get-started/ ..the link says
" In order to use WSO2 product Docker images, you need an active WSO2 subscription."
Is it like that?
Cant i have the image running in the client premises without any subscription?
You can build it yourself using their official dockerfiles which hosted on github and then push it to your own registry.
The rest of the dockerfiles for other WSO2 Products can be found under the same github account.
The following steps are describing How to build an image and run WSO2 API Manager, taken from this README.md file.
Checkout this repository into your local machine using the following Git command.
git clone https://github.com/wso2/docker-apim.git
The local copy of the dockerfiles/ubuntu/apim directory will be referred to as AM_DOCKERFILE_HOME from this point onwards.
Add WSO2 API Manager distribution and MySQL connector to <AM_DOCKERFILE_HOME>/files.
Download WSO2 API Manager v2.6.0
distribution and extract it to <AM_DOCKERFILE_HOME>/files.
Download MySQL Connector/J
and copy that to <AM_DOCKERFILE_HOME>/files.
Once all of these are in place, it should look as follows:
<AM_DOCKERFILE_HOME>/files/wso2am-2.6.0/
<AM_DOCKERFILE_HOME>/files/mysql-connector-java-<version>-bin.jar
Please refer to WSO2 Update Manager documentation
in order to obtain latest bug fixes and updates for the product.
Build the Docker image.
Navigate to <AM_DOCKERFILE_HOME> directory.
Execute docker build command as shown below.
docker build -t wso2am:2.6.0 .
Running the Docker image.
docker run -it -p 9443:9443 wso2am:2.6.0
Here, only port 9443 (HTTPS servlet transport) has been mapped to a Docker host port.
You may map other container service ports, which have been exposed to Docker host ports, as desired.
Accessing management console.
To access the management console, use the docker host IP and port 9443.
https://<DOCKER_HOST>:9443/carbon
In here, refers to hostname or IP of the host machine on top of which containers are spawned.
How to update configurations
Configurations would lie on the Docker host machine and they can be volume mounted to the container.
As an example, steps required to change the port offset using carbon.xml is as follows.
Stop the API Manager container if it's already running. In WSO2 API Manager 2.6.0 product distribution, carbon.xml configuration file
can be found at <DISTRIBUTION_HOME>/repository/conf. Copy the file to some suitable location of the host machine, referred to as <SOURCE_CONFIGS>/carbon.xml and change the offset value under ports to 1.
Grant read permission to other users for <SOURCE_CONFIGS>/carbon.xml
chmod o+r <SOURCE_CONFIGS>/carbon.xml
Run the image by mounting the file to container as follows.
docker run \
-p 9444:9444 \
--volume <SOURCE_CONFIGS>/carbon.xml:<TARGET_CONFIGS>/carbon.xml \
wso2am:2.6.0
In here, refers to /home/wso2carbon/wso2am-2.6.0/repository/conf folder of the container.
As explained above these steps for ubuntu, for other distributions you can check the following directory and then read the README.md file inside
You can build the docker images yourself. Follow the instructions given at https://github.com/wso2/docker-apim/tree/master/dockerfiles/ubuntu/apim#how-to-build-an-image-and-run.
Thes caveat is that you will not be getting any bug fixes if you do not have a subscription.

Where Docker default registry URL is configured?

I am refering to this link - Docker pull.
By default, docker pull pulls images from Docker Hub (https://hub.docker.com).
I would like to know where this link is configured on our local machine setup.
I am using Docker on Windows 10.
You cannot change the default domain of a docker image. This is by design:
Your Docker installation with this "private registry defined in the config file" would be incompatible with every other Docker installation out there. Running docker pull debian needs to pull from the same place on every Docker install.
A developer using Docker on their box will use debian, centos and ubuntu official images. Your hacked up Docker install would just serve your own versions of those images (if they're present) and this will break things.
You should identify your image through the full URL:
<your-private-registry>/<repository>/<image>:<tag>
The default domain docker.io (the "docker hub") is hardcoded in docker's code.
For example here:
https://github.com/docker/distribution/blob/master/reference/normalize.go
Check the function splitDockerDomain which sets docker.io as registry if it's not provided by the user.

How I use a local container in a swarm cluster

A colleague find out Docker and want to use it for our project. I start to use Docker for test. After reading an article about Docker swarm I want to test it.
I have installed 3 VM (ubuntu server 14.04) with docker and swarm. I followed some How To ( http://blog.remmelt.com/2014/12/07/docker-swarm-setup/ and http://devopscube.com/docker-tutorial-getting-started-with-docker-swarm/). My cluster work. I can launch for exemple a basic apache container (the image was pull in the Docker hub) but I want to use my own image (an apache server with my web site).
I tested to load an image (after save it in a .tar) but this option isn't supported by the clustering mode, same thing with the import option.
So my question is : Can I use my own image without to push it in the Docker hub and how I do this ?
If your own image is based on a Dockerfile that you build you can execute the build command on your project while targeting the swarm.
However if the image wasn't built, but created manually you need to have a registry in between that you can push to, either docker hub or some other registry solution like https://github.com/docker/docker-registry

Resources