If anyone gets this error redis.exceptions.DataError: Invalid input of type: 'dict'. Convert to a byte, string or number first change the requirements.txt use redis==2.10. instead of redis
i dont mean to be off topic but does anybody know of a method to get back into an instagram account?? I somehow forgot my password. I would love any help you can give me
This is such an outstanding tutorial precisely because it provides an in-depth walkthrough of the subject without being overwhelming or running off on tangents. It deserves 100 times the views it has. Well done.
The explanation is amazing. I've been wandering around different Docker Compose tutorials but I have got the best idea out of this video. Keep up the good work and thank you!
The best docker compose lecture I have ever found !!! Thank you !!! I don't understand who are those people who have pressed disliked button. This is best video one can get for understanding the docker-compose ecosystem...
This video is so underrated, the best course on docker compose I have taken. I am in 2020 and this crash course virtually thought me about things I have been using without prior proper understanding.
Thank you so much for the video. Just the right amount of detail and great pace. Clearly explained some concepts I'd just taken for granted. I've subscribed and look forward to learning more.
I would like to ask you if you have any plans about preparing new tutorial series related with K8s? by the way your Videos about Docker are great, thanks
I used Docker Compose to setup a LAMP environment but MySQLi isn't installed by default so I had to create a DockerFile and run some Bash commands to install MySQLi and commit it to the container. Is there a way to take this new environment I have with LAMP + MySQLi and export that so I can share it with the rest of the team?
Hi Mark, I am just wondering doesn't using the service name defined in the compose file as your host name in your app db connection tightly couple your application to docker ? What if you wanted to migrate to a different container like openshift ?
If I am scaling service with a factor of 5 on tree node cluster then definitely the same service deployed multiple times on the same node. My question is related to dynamic port allocation, in service definition if we have configured - 8080:80 which means that internal container port is mapped to external port 80. How do we handle such scenario I assume that there will problem in replicating the same service if that service already running on the same node because port 80 is already in use. I am sorry if you have already covered such use case in your video. Many thanks, Mark for your wonderful work.
Hi Amit, if you are on a cluster, you need a container orchestrator like Docker Swarm or Kubernetes. Comopse is single host only. I'm writing my Swarm tutorial right now, but it's not yet ready :) You can buy my book though, to get started, or you can check out the only documentation of Swarm or Kubernetes. Swarm is built into Docker, so I would suggest to start with that. Scheduling, scaling and service discovery are all built in, so Swarm can cover your scenario. If you need application level load balancing, then you need to add a load balancer yourself to your deployment.
@@takacsmark Ok got you Swarm or Kubernetes need for deploying services on a multinode cluster. Is there any way to avoid a port collision when running service replica on a single node using docker-compose command?
Mark great work - hats off for you. I have one doubt when you dropped compose file on play-with-docker server what happened to Dockerfile referred in compose file?
Good question, this is an important point. When we drop the compose file to the server, we will use the image that is specified in the compose file. What happens is that docker-compose will pull the image from the Docker hub and it will NOT build it from the Dockerfile. This is possible, because we pushed our image previously to the Docker hub. This implies that we do not need to drop the Dockerfile to the server, we are not building the image on the server, we pull the image from the HUB. This is important, because this is how you should do it on a real project. Build the image, push it to a registry and pull it on your server. Your deployment entity is the image, not the Dockerfile.
Hi, thanks for the video. In your Dockerfile you first copied the "requirements.txt" file and then installed the packages with pip. After that you copied all of your local files and directories into your container. Why not first copying all of the local files and directories into the container app directory and then install python packages with pip install -r "requirements.txt"? Is there any trick or something with doing that?
Docker Compose composes of different services. How could we manage dependency among them for e.g. my spring application can't boot without MySQL and if docker starts deploying spring app first then it definitely gonna fail do we have someway with docker compose to tackle corner case?
Hi Amit, thanks for the great question. You can add `depends_on` to the services in the Compose file to define if a service depends on an other service. Docker will make sure that the containers will be started in dependency order. This will, however not make sure that the service (like a db) is also ready to receive connections. Since every dependency is different, you have to do the check manually. You can write a shell script and add it to your ENTRYPOINT or CMD in the Dockerfile that checks if the db is ready and start up the depending server after. You can read more about this here docs.docker.com/compose/startup-order/.
What are you trying to achive exactly? Compose will start up a container for every service in the compose file. They will all start up after you issue the command. They start up one by one, but compose manages them together. What's your use case?
@@takacsmark In my case one container need to print hello-world continuously and another container need to print like thriveni for random time at the time of first container running after random time it need to switch to second container and after completing the printing of second container again it need to trigger the first container like that need to switch containers from one to another.It is like the two containers were sharing the terminal
Just tutorial for beginner Wordpress has weak point to connect to database directly without WEB API If you talk Docker compose it is better way to use local network in Docker Wordperss is END of Cotnents also PHP
If anyone gets this error redis.exceptions.DataError: Invalid input of type: 'dict'. Convert to a byte, string or number first
change the requirements.txt use redis==2.10. instead of redis
Thanks Santosh, indeed redis-py has changed, the example is broken with the new version.
@@takacsmark Thank you for the video. It is very useful.
@@santhoshnagarajs3489 In requiretements.txt change redis to redis
You can just serialize your dict with json.dumps(data) when you store data and unpack it when you read data with json.loads(item)
i dont mean to be off topic but does anybody know of a method to get back into an instagram account??
I somehow forgot my password. I would love any help you can give me
This is such an outstanding tutorial precisely because it provides an in-depth walkthrough of the subject without being overwhelming or running off on tangents. It deserves 100 times the views it has. Well done.
The explanation is amazing. I've been wandering around different Docker Compose tutorials but I have got the best idea out of this video. Keep up the good work and thank you!
The best docker compose lecture I have ever found !!! Thank you !!! I don't understand who are those people who have pressed disliked button. This is best video one can get for understanding the docker-compose ecosystem...
Sorry if this is a weird compliment, but you are very good at making eye contact with the camera. It makes the tutorial feel more personal
One of the best and the easiest docker compose tutorial on web. Keep up the good work
It is a most thorough and easy to understand tutorial on docker-compose that I've found on TH-cam. Keep up the good work!!!!!!!!
Great video, its sad that videos like this dont receive many views, but content like this is just not for wide audiences
This video is so underrated, the best course on docker compose I have taken. I am in 2020 and this crash course virtually thought me about things I have been using without prior proper understanding.
Congratulations!, The first one in internet who explain so well docker-compose. Fantastic. Thank you. After hours of searching.
The way you teach with the smile on your face always is really great to watch! Thank you for this tutorial 😊
already liked after watching 8 mins of content, MOST AMAZING DOCKER TUTORIAL WITH IN 50 MINS. TOTALLY WORTH SPENDING 50 MINS 👍 thanks #DockerExpert
The best docker-compose video tutorial that i have found. Congratulation!!!
best docker-compose tutorial i ever saw... thanks for all the information... :)
As a learner, I loved your explanation. Really appreciated.
I wish there were a video about 'networks' explained by you. That would be awesome.
You should be creating more videos because you really know how to transfer knowledge. Great video
I seldom comment, but this is the best docker-compose tutorial I have ever watch. Keep up the good video coming. subs :D
The way you teach, with the smile on your face is really great 😍
wow, so informative. That was world class! Merci beaucoup mon ami
Thankyou, was trying to get my head around docker compose and this helped a lot
with my broke english i understood almost everything ! Best explication !!!! Thanks a lot!
Awesome vedio sir..I learnt what I need, keep doing the good work.
This is a very informative tutorial for beginners. Thanks for the good work.
Thank you very much! Kudos to you Mark! You impart knowledge very systematically and very clearly. -- from the Philippines.
Amazing content. Thank you for sharing.
Thanks for this awesome tutorial!! Just curious, what editor/ide are you using?
Thank you so much for the video. Just the right amount of detail and great pace. Clearly explained some concepts I'd just taken for granted. I've subscribed and look forward to learning more.
Excellent!. Thank you so much.
Simply awesome, Thanks for the effort :)
Great video. I learned a lot in this tutorial. I appreciate you putting this all together!
Awesome tutorial, I wish to have you as my Team lead.
Fantastic explanation
Best docker-compose tutorial out there. Thank you so much!!
One of the best on docker-compose!! Tq
Very good, Please do upload videos on swarm.
Excellent 🙏 Thanks a lot. 👍
Great guide, thank you.
I would like to ask you if you have any plans about preparing new tutorial series related with K8s?
by the way your Videos about Docker are great, thanks
Thanks a lot for your time ! Love your video
What a nice explanation! WOW! WOW! WOW! like the way of teaching.. Thanks a lot Mark! Happy Christmas! #Docker Expert
Very neat explanation, loved it !!!
I used Docker Compose to setup a LAMP environment but MySQLi isn't installed by default so I had to create a DockerFile and run some Bash commands to install MySQLi and commit it to the container. Is there a way to take this new environment I have with LAMP + MySQLi and export that so I can share it with the rest of the team?
Thank you for the amazing series of tutorials along with followup blog. It's pretty handy and useful
That was awesome thank you :)
Great tutorial @takacsmark. Do you've any knowledge of why we use `mutagen` with docker. Any pointer would be helpful. Thanks
Hi Mark, I am just wondering doesn't using the service name defined in the compose file as your host name in your app db connection tightly couple your application to docker ? What if you wanted to migrate to a different container like openshift ?
Thanks for such a good video and explaining everything which is required.
Sir, if you are not a professor, you should be... Cheers for the information mate. Crazy useful!
Thanks, this is one of the funkiest comments that I got :)
Thanks Mark, It is very hepful tutorial.....
Nice tutorial on docker compose. Thank you !!
Nice tutorial, keep up the great work, Márk! :)
Thank you so much for this
Thank you so much for this introductory video.Could you also upload some more advanced videos as well in sequence to this?
Hi Koustav, thanks for your feedback. What advanced topic would you like to be covered?
@@takacsmark Hi takacsmark, Could you demonstrate deployment of slightly more complex applications using docker compose and swarm?
If I am scaling service with a factor of 5 on tree node cluster then definitely the same service deployed multiple times on the same node. My question is related to dynamic port allocation, in service definition if we have configured - 8080:80 which means that internal container port is mapped to external port 80. How do we handle such scenario I assume that there will problem in replicating the same service if that service already running on the same node because port 80 is already in use. I am sorry if you have already covered such use case in your video. Many thanks, Mark for your wonderful work.
Hi Amit, if you are on a cluster, you need a container orchestrator like Docker Swarm or Kubernetes. Comopse is single host only. I'm writing my Swarm tutorial right now, but it's not yet ready :) You can buy my book though, to get started, or you can check out the only documentation of Swarm or Kubernetes. Swarm is built into Docker, so I would suggest to start with that. Scheduling, scaling and service discovery are all built in, so Swarm can cover your scenario. If you need application level load balancing, then you need to add a load balancer yourself to your deployment.
@@takacsmark Ok got you Swarm or Kubernetes need for deploying services on a multinode cluster. Is there any way to avoid a port collision when running service replica on a single node using docker-compose command?
@@amitjain561 You can add a reverse proxy to your compose file and map it to port 80, a good docker image is github.com/jwilder/nginx-proxy.
Excellent tutorial. Thank you!
Thank you so much for a video. It's very helpful
Great video! Thanks!
Mark great work - hats off for you. I have one doubt when you dropped compose file on play-with-docker server what happened to Dockerfile referred in compose file?
Good question, this is an important point. When we drop the compose file to the server, we will use the image that is specified in the compose file. What happens is that docker-compose will pull the image from the Docker hub and it will NOT build it from the Dockerfile. This is possible, because we pushed our image previously to the Docker hub. This implies that we do not need to drop the Dockerfile to the server, we are not building the image on the server, we pull the image from the HUB. This is important, because this is how you should do it on a real project. Build the image, push it to a registry and pull it on your server. Your deployment entity is the image, not the Dockerfile.
@@takacsmark Thanks Mark for swift response and making more clear :)
great job bro. nice tutorial
Thank you nice video please upload other videos
Awesome tutorial
Great Tutorial !!!
Hi, thanks for the video.
In your Dockerfile you first copied the "requirements.txt" file and then installed the packages with pip. After that you copied all of your local files and directories into your container.
Why not first copying all of the local files and directories into the container app directory and then install python packages with pip install -r "requirements.txt"?
Is there any trick or something with doing that?
Hi cool video. Which vs code theme are you using. Looks like a nice one
Hi, that's the Quiet Light theme, that's built into vscode. I moved on the Dracula in the meantime, btw. :)
Seems you are pretty docker guy... Nice content.
Excellent Mark, thanks a tonne :-)
Excellent
thanks for this helpful tutorial :)
Its Great Tutorial!
Thanks a lot
You are awesome!
I want to know what keyboard are you using please?
Hi, I'm using this one www.coolermaster.com/catalog/peripheral/keyboards/quick-fire-xt/
Thanks for sharing very informative! I spy Terraform extension 👀. I will be interested to look for something like this video on Terraform if possible.
i need some help in docker containers and kafka
Docker Compose composes of different services. How could we manage dependency among them for e.g. my spring application can't boot without MySQL and if docker starts deploying spring app first then it definitely gonna fail do we have someway with docker compose to tackle corner case?
Hi Amit, thanks for the great question. You can add `depends_on` to the services in the Compose file to define if a service depends on an other service. Docker will make sure that the containers will be started in dependency order. This will, however not make sure that the service (like a db) is also ready to receive connections. Since every dependency is different, you have to do the check manually. You can write a shell script and add it to your ENTRYPOINT or CMD in the Dockerfile that checks if the db is ready and start up the depending server after. You can read more about this here docs.docker.com/compose/startup-order/.
How can I deploy it to the heroku ?
good one
You are great. Could you please improve the sound quality of your videos? It's not only very low but also a bit of drum effect is present.
Thanks, I will look into sound definitely, I got comments on the loud keyboard, too.
How to share a single terminal between two or more containers for printing data parallelly
Hi Thriveni, using docker-compose up will automatically print the standard output of all containers to your terminal.
@@takacsmark but I need to up the all containers parallel not to sequencially
Thank you for your reply but in the case of docker compose up it runs the containers one by one but I want to up all containers simultaneously
What are you trying to achive exactly? Compose will start up a container for every service in the compose file. They will all start up after you issue the command. They start up one by one, but compose manages them together. What's your use case?
@@takacsmark In my case one container need to print hello-world continuously and another container need to print like thriveni for random time at the time of first container running after random time it need to switch to second container and after completing the printing of second container again it need to trigger the first container like that need to switch containers from one to another.It is like the two containers were sharing the terminal
Super like :-)
So many advertisement dude ... video is good
Just tutorial for beginner
Wordpress has weak point to connect to database directly without WEB API
If you talk Docker compose it is better way to use local network in Docker
Wordperss is END of Cotnents also PHP
woooop 18:38
The way you teach, with the smile on your face is really great 😍