i have tried to learn some case like following:
https://github.com/ubermuda/docker-symfony
https://github.com/stage1/docker-php
but that above is not great for me. I need some post to tell me the complete process how to use docker with development.I have not problem with docker command such as docker-compose. Who have used docker as development environment? Give me some advice ,please.
thanks in advance.
What you are asking is MUCH too broad for it to be answerable in one reply.
I would start at the official Docker website, evaluate which images you might need (you can always build them yourself as well), and start putting your development environment together.
Docker
Related
I'm learning to work with docker/docker-compose, and having a few issues now.
I can't really understand how it works, for example, if i run php7.2 image - what operating system is it running on ?
Currently i'm thinking about working on my new project with docker, but can't find a way to create docker configs.
What i want now is: Use base image/service with operating system - ubuntu, then i need extend that image/service and add services like java, mysql, also need to checkout 2 repositories which should be later run on that ubuntu service with java and mysql. How can i do that ? I've tried googling for some examples, but i'm not been able to find any good example.
I would really appreciate any help with that. Thanks in advance
As start example you can read http://geekyplatypus.com/dockerise-your-php-application-with-nginx-and-php7-fpm/
You don't need to extend your image with other services because the paradigm here is "one container = one service". Here best practices.
I have a need to use an in-memory caching solution for scaled out application servers.
Redis seems like the best choice from my research.
I've used Linux before (Ubuntu), but I don't consider myself an expert at all.
So I'm considering just going with a Windows install.
The Windows port isn't official and seems to be abandoned.
I figured this would be a good time to learn all about Docker, as I've heard it grow popular over the past couple of years.
I have got to the point where I can install Docker and run some containers with no issue.
For redis, I can do the following from a command line with no issue:
docker run -p 6379:6379 redis
But this is needed for a production system and I'm just unsure if I am using best practices or how I should configure my config file. And I also want to make sure I have high availability (master/slave).
Can anyone help me get on the right track?
There's gonna be a performance overhead running Redis in docker for windows as it installs docker on a virtual machine and then runs Redis within that.
Also bear in mind that '-p 6379:6379' will expose redis to the outside network, not just your host machine. Maybe that's what you want, maybe not.
I am going to run my golang app on oracle linux 7 server, I am going to use kubernetes using docker containers. What kind of kubernetes cluster can I use? Can you introduce me some short tutorial for deploying my app. Thank you!
For short introduction I think this blog post is really good. It will tell you basics and what you should know at start https://www.digitalocean.com/community/tutorials/an-introduction-to-kubernetes
But if you want to get deeper, start reading:
https://kubernetes.io/
For a start, use minkube, which allow you to run kubernetes locally https://github.com/kubernetes/minikube
When trying to move a web container (Tomcat) to the latest technologies for better growth and support, I came across this blog. This part seems ideal for my needs:
... we are also incorporating Kubernetes into Mesos to manage the deployment of Docker workloads. Together, we provide customers with a commercial-grade, highly-available and production-ready compute fabric.
Now, how to setup a local test environment to try this out? All these technologies seem interchangable! I can run docker on mesos, mesos on docker, etc etc etc. Prepackaged instances allow me to run on others Clouds. Other videos also make this seem great! Running out on the cloud is not a viable (allowed) option for me. Unfortunately, I can not find 'instructions' on how to setup the configuration described/marketed/advertised.
If I am new to these technologies, and know there will be a learning curve, is there a way to get initialized for doing such a "simple task": running a tomcat container on a Docker machine that is running Mesos/Kubernetes? That is, without spending days trying to learn and figure out each individual part! This is the picture from the blog site referenced:
Assuming that I "only" know how to create a docker container(s) (for say, centos-7). What commands, in what order, (i.e. the secret 'code') do I need to use to configure small (2 or 3) local environment to try out running Tomcat?
Although I searched quite a bit, apparently not enough! Someone pointed me to this:
https://github.com/kubernetes/kubernetes/blob/master/docs/getting-started-guides/mesos-docker.md
which is pretty close to exactly what I was looking for.
I created a docker image with pre-installed packages in it (apache, mysql, memcached, solr, etc). Now I want to run a command in a container made from this image, and this command relies on all my packages. I want to have all of them started when I start a new container.
I tried to use /sbin/init, but it doesn't work in docker.
The general opinion is to use a process manager to do this. I wont go into the details here, since I wrote a blog on that: http://blog.trifork.com/2014/03/11/using-supervisor-with-docker-to-manage-processes-supporting-image-inheritance/
Note that another rather general opinion is to split your containers. MySQL generally is on a different container, but you can try to get that to work later on as well of course :)
I see that this is an old topic, however, for someone who just came across it - docker-compose can be used to connect multiple containers, so most of the processes can be split up in different containers. Furthermore, as mentioned earlier, different process managers can be used in order to run processes simultaneously and the one that I would like to mention is Chaperone. I find it really easy to use and slightly better than supervisor!
docker compose and docker sync -> You can not go wrong applying this concept.
-Glynn