Yes and I do prefer to do so especially to avoid any crypto mining packages from a third-party image. Two things that I think are cool to share about it in the next video is about the tag USER -- it took me a while to find out about it -- and Docker's buildx -- especially for developers that use SBC as their homelab -- as do I.
I was actually working on figuring out a quick little Nginx container for a school project, and this is SOO much simpler than other tutorials I found online, plus you just plain explain thing beautifully. Your videos are just amazing!
I have avoided containers for a long time now. But I am having to face the fact that I for some things I no longer have an option but to run them as containers - and some of those tools want me to build my own docker images. I was wondering what tool you are using to create your docker files - it has some sort of integration with docker hub, and auto completion (both features I could use, as I don't intend building docker images to be a main part of what I do).
This timing is legendary. I just started looking into using containers for my setup and the first video i see is this one. Awesome vid btw, just what i needed
Couldn't agree more about the timing. Although I have been using docker for over a year I only recently built my first docker image which is a clone of wordle and also happens to be based on nginx-alpine. 😃
I just wanted to drop you a quick note to express my appreciation for the fantastic video tutorial you created. Your clear explanations and step-by-step guidance made learning 'Docker containers' a breeze!
Bro this video is amazing. I just discovered Docker a few weeks ago, I had always just used Virtual Box or VMWare VMs. I figured out how to spin up a Unifi container pretty quickly, but what I really wanted to know was how to build my own container so I could do some custom things. This video tutorial is perfect!!
This is the first video on docker that I have watched that makes sense of docker for me, in a way I can understand. Thank you so much! Now I'm going to attempt my first container 🙂
finally an actual practical tutorial that doesn't spend 90% of the time just explaining a bunch of boilerplate things like how to install it & what containers even are.
Thank you for all your videos. I was able to learn a lot from your work and videos and it would have been much harder to read books and documentation instead. I often see you in your videos typing code into VS Code and "magically" completing "things". Perhaps you can briefly explain at this point which VS extensions you installed and why? Or is it even worth making your own video for it? I hope you have fun making videos like this for a long time to come.
Man this tutorial is super awsome and beginner-friendly. The presentation style is awesome - to the point and just the enough amount of info in one video. Thanks a lot!
Looking forward to the container registry video, I currently use Gitea with Woodpecker to run CI pipelines, but it is very slow when I need install dependencies before it runs my code, it would be great to pull from my own container registry that already includes all the build tools I need.
Great tutorial! I had a question about the starting point FROM in a Dockerfile. You mentioned you can start with a Linux operating system but you could also start with FROM python. Just wondering what the implications are for your starting point. Like, you wouldn't be able to run your web server if you started with Python? Or does it assume a native OS?
Great video. Thanks. I have discovered that running an image using a Dockerfile from Docker Hub, with only the '-d' flag, does not always create a container that stays up and running. I've had to run the image with '-dit' to create the container(s). Also, some images don't run to create the container if a command (CMD in Dockerfile) is missing.
Clear and concise. Though I couldn’t get intellisense to work with the FROM command. Where your video has intellisense suggesting available repos after the FROM command.
What should i do if i only see my html documents on my website not my java script files or css files? I have linked my whole folder and if i run my code locally (not on docker) i see those css editing and java script.
I think this tutorial was really awesome. Thank you! I followed along and tried all the things while watching. Didn't bother building such a fancy web page tho xD mine was just a hello world, but you got the point across neatly!
In docker file I used the same copy command as you did COPY src/html usr/share/nginx/html but when I cat into dockerfile the copy is empty...how can check the destination path in my local host to confirm if it is the same as urs as it could be the possible issue..thanks
Love your channel but I hate your terminal setup. While this might work for you and I can follow what you are doing but most people won't. Having a profile with the full path will be very helpful for people following along. This is just constructive criticism. Your channel is amazing and learned a lot from it.
Thanks for the feedback! Not sure I understand what you mean about having a profile with the path and how most people won’t be able to follow? These are just docker commands.
Hi...great tutorial... I understand now K8s only support containerd as runtime interface, so can I still run dockerfile in that K8s? Hope someone can clarify further. Thanks
had a nightmare getting this working on windows 10 home os. Had to enable windows hypervisor platform in windows features then restart Docker. Then stop my default IIS site which was running on port 80. Finally also found the browser was caching web requests from before I had my system setup properly so had to clear manually go in and clear the browser cache. Hoping this will help someone else go through less pain in future!
question, instead of creating docker file and new custom docker image, could we creare docker-compose with the ngix image or apache etc and volume the _site folder ? Does this work ?
I've watched literally dozens of videos about Docker on YT and found them confusing and lacking. This video is awesome and explains it all. Would recommend.
Great job with the tutorial Tim! 🚀If anyone’s looking for more Docker videos, we’ve released a web-based Docker viewer and a logging tutorial to help the community too 💪
DUDE thank you! I've been looking for a video like this that starts from the beginning and does a simple example that's easy to follow. Usually the videos all show these big applications that they are wanting to containerize and it can be hard for a beginner to follow along.
Very good my man. Loved this sort of thing! Just great overall stuff... Please do more along these lines. I can tell you were "right at home" with this stuff, but it was so good for me. So good, thank you.
how do i make a docker container for etlegacy? i want the client, not a dedicated server. Have both official compiled release and git clone in build environment, on windows.
I added the following to my aliases so I can just spin up test containers if I want to test a command or console app. Use host networking so I don't need to figure out the port forwarding every time, people should make their own decision on that. shell-alpine='docker run --name alpine --rm -it --network=host -v "$(pwd)":/root alpine /bin/ash' shell-busybox='docker run --name busybox --rm -it --network=host -v "$(pwd)":/root busybox' shell-centos7='docker run --name centos7 --rm -it --network=host -v "$(pwd)":/root centos:centos7 /bin/bash' shell-centos8='docker run --name centos8 --rm -it --network=host -v "$(pwd)":/root centos:centos8 /bin/bash' shell-ubuntu-1804='docker run --name ubuntu-1804 --rm -it --network=host -v "$(pwd)":/root ubuntu:18.04 /bin/bash' shell-ubuntu-2004='docker run --name ubuntu-2004 --rm -it --network=host -v "$(pwd)":/root ubuntu:20.04 /bin/bash'
Your videos are phenomenal, yesterday I started looking at Ansible on your channel and made me wanna learn Devops (Ansible and Docker). Thank you so much, your explanations are by far the best on YT. Thank you once again, all the best! 😄
Thank you Tim for an amazing video once again! Addition to this can you cover SSL for docker containers be cover in your next video if possible or else a link to a super simple guide would do it. 😊
@@jackmurak I was using the mac with m1 processor. The mac m1 has been showing many problems in docker, so I am just practising the docker in a Linux machine.
Another GREATI video! I love your tutorials. You started out with really "good" content (I've watched from day one), but now, it's at a much higher-level. This tutorial with your direct, to-the-point explanations, really helped me. I've tossed up Docker and K8s but the amount of notes I have is overwhelming. Especially when I want to spend five minutes and not five hours. I set this to over 100 contacts at work, and about 180 (I forget the number in the email group) at home. Programming friends who like similar content. Keep up the great job! (Now rewatching "Uptime Kuma" video to get it working in my new K8s.)
Great video. What i would liked to see is how can you integrate other things like keepalived into this or any other base image to be up to date always automatically , let it be the base iamge or keepalived while retaining the config files.
I was just about to start a course on udemy for docker, I feel I can avoid 4+ hours in that course with this one video of yours. Now if you could make one like this for docker swarm or kubernetes it would be amazing.
swarm and kubernetes are completely different, I propose to start with swarm if you want to make some high availability between your home services and few physical machines
Dockerhub shows 1.21.6-alpine and 1.22.0-alpine in your video. I even see this now when I visit Dockerhub. How did you determine that 1.10.1 was the latest version? Is there a tag that I'm not seeing? Is there maybe a docker command I can use to query for the lastest versions of base images?
Actually its rather easier. Now i have 4 images that i use to test my scripts or to mess around with and it took very little time to setup. I couldn't find a good example for building a dockerfile, but will in the long term. I think in the end dockerfile is the way to go. However, what i did was collected a folder with all my scripts and stuff, and created some scripts to setup my environment, which included downloading cli apps like nano, tmux, vim (to practice), wget, curl and mc. Then i copy my dotfiles to /root, and then source the new .bashrc, and voila, a perfectly (for my use) docker container!! excellent!!!!
Definitely agreed with all the other comments, great tutorial and a lot of gems worth diving deeper on outside of this video. 3 improvements IMO - 5 to 10 seconds without wasting time 1 - mention the OS you're on 2 - mention the installer of Docker you used 3 - actually show the Dockerfile being created so it's clear about file extension I'm seeing the bigger picture more and more now.
I did! Well done video, I probably won't need to be building my own containers much but had a special case, need to set up a quick web server to test something. Video was great! Oddly probably the most useful thing for me in the video was "exec into a container". I only knew how to do that from portainer and it wasn't working on one container but through this command in docker I was able to do it!
Thanks for this - I had no idea how to do anything but copy paste stuff for docker/portainer this morning. Followed this then a few hours later have managed to get automated builds from Github to Dockerhub, and then deployment from there to my home server for easy iteration!
This is an awesome tutorial! You simplified the process of learning Dockerfiles. I wish this video existed when I was learning docker. Would you make a video on Docker Compose and deployment to Kubernetes?
I don't understand how you even created the yaml file at the beginning as there is no option when I downloaded VS Code, how to got it to the server from your client, and how to converted the yaml file into a Docker file. Missed a lot of steps there.
When I type "From" in my Dockerfile, it doesn't offer image suggestions (or underline the correct image name) what does that mean? How do I set it up correctly?
Have you built your down Docker container yet?
Building soon. Thanks again.
Yes and I do prefer to do so especially to avoid any crypto mining packages from a third-party image. Two things that I think are cool to share about it in the next video is about the tag USER -- it took me a while to find out about it -- and Docker's buildx -- especially for developers that use SBC as their homelab -- as do I.
I was actually working on figuring out a quick little Nginx container for a school project, and this is SOO much simpler than other tutorials I found online, plus you just plain explain thing beautifully. Your videos are just amazing!
@@quinnhenry6719 Thank you so much!
I have avoided containers for a long time now. But I am having to face the fact that I for some things I no longer have an option but to run them as containers - and some of those tools want me to build my own docker images.
I was wondering what tool you are using to create your docker files - it has some sort of integration with docker hub, and auto completion (both features I could use, as I don't intend building docker images to be a main part of what I do).
Thank you so much for NOT starting this with "here's how to download docker, here's how to install docker".
😉
This timing is legendary. I just started looking into using containers for my setup and the first video i see is this one. Awesome vid btw, just what i needed
Couldn't agree more about the timing. Although I have been using docker for over a year I only recently built my first docker image which is a clone of wordle and also happens to be based on nginx-alpine. 😃
Wow, what a great tutorial. In less than 20 minutes you explained what others would have taken hours. Thank you!
Still relevant and useful two years later. I feel like I can do this, now. LFG!
Awesome!! Exactly what I needed. You sir, are a legend
Your teaching style is great!
Would love to see more from you🙌
I just wanted to drop you a quick note to express my appreciation for the fantastic video tutorial you created. Your clear explanations and step-by-step guidance made learning 'Docker containers' a breeze!
Omg. You’re video was amazing. So easy to follow and understand. I think I learned more about docker from you than multiple other videos. Thank you!
Great video! Id love to see a similar video detailing containers and storage. Like covering the different options that are available to persist data.
Bro this video is amazing. I just discovered Docker a few weeks ago, I had always just used Virtual Box or VMWare VMs. I figured out how to spin up a Unifi container pretty quickly, but what I really wanted to know was how to build my own container so I could do some custom things. This video tutorial is perfect!!
This is the first video on docker that I have watched that makes sense of docker for me, in a way I can understand. Thank you so much! Now I'm going to attempt my first container 🙂
finally an actual practical tutorial that doesn't spend 90% of the time just explaining a bunch of boilerplate things like how to install it & what containers even are.
Thank you for all your videos. I was able to learn a lot from your work and videos and it would have been much harder to read books and documentation instead.
I often see you in your videos typing code into VS Code and "magically" completing "things". Perhaps you can briefly explain at this point which VS extensions you installed and why? Or is it even worth making your own video for it?
I hope you have fun making videos like this for a long time to come.
Man this tutorial is super awsome and beginner-friendly. The presentation style is awesome - to the point and just the enough amount of info in one video. Thanks a lot!
Great video Tim..
Could you perhaps do a follow-up on the CI part?
Looking forward to the container registry video,
I currently use Gitea with Woodpecker to run CI pipelines, but it is very slow when I need install dependencies before it runs my code, it would be great to pull from my own container registry that already includes all the build tools I need.
Great tutorial! I had a question about the starting point FROM in a Dockerfile. You mentioned you can start with a Linux operating system but you could also start with FROM python. Just wondering what the implications are for your starting point. Like, you wouldn't be able to run your web server if you started with Python? Or does it assume a native OS?
Great video. Thanks.
I have discovered that running an image using a Dockerfile from Docker Hub, with only the '-d' flag, does not always create a container that stays up and running. I've had to run the image with '-dit' to create the container(s).
Also, some images don't run to create the container if a command (CMD in Dockerfile) is missing.
Clear and concise. Though I couldn’t get intellisense to work with the FROM command. Where your video has intellisense suggesting available repos after the FROM command.
What should i do if i only see my html documents on my website not my java script files or css files? I have linked my whole folder and if i run my code locally (not on docker) i see those css editing and java script.
I think this tutorial was really awesome. Thank you! I followed along and tried all the things while watching. Didn't bother building such a fancy web page tho xD mine was just a hello world, but you got the point across neatly!
In docker file I used the same copy command as you did
COPY src/html usr/share/nginx/html but when I cat into dockerfile the copy is empty...how can check the destination path in my local host to confirm if it is the same as urs as it could be the possible issue..thanks
Yeah, after using docker for many years. Only now do i see how actually POWERFUL it is once you actually get to building your own containers
Hello, please which dockerfile VSC plugin offers image version numbers in FROM section?
Love your channel but I hate your terminal setup. While this might work for you and I can follow what you are doing but most people won't. Having a profile with the full path will be very helpful for people following along. This is just constructive criticism. Your channel is amazing and learned a lot from it.
Thanks for the feedback! Not sure I understand what you mean about having a profile with the path and how most people won’t be able to follow? These are just docker commands.
@@TechnoTim I get path errors (others below did too). It might be windows vs. linux issue for me?
Hi...great tutorial... I understand now K8s only support containerd as runtime interface, so can I still run dockerfile in that K8s? Hope someone can clarify further. Thanks
Bro my localhost is stuck on nginx welcome page who do I redirect it to index.html please somebody help.😥😥😥
had a nightmare getting this working on windows 10 home os. Had to enable windows hypervisor platform in windows features then restart Docker. Then stop my default IIS site which was running on port 80. Finally also found the browser was caching web requests from before I had my system setup properly so had to clear manually go in and clear the browser cache. Hoping this will help someone else go through less pain in future!
Thank you for this video with explanation
So if I have an image I got online, do I need to worry about the compose file? or can I just run the image and set env variables?
question, instead of creating docker file and new custom docker image, could we creare docker-compose with the ngix image or apache etc and volume the _site folder ?
Does this work ?
I've watched literally dozens of videos about Docker on YT and found them confusing and lacking. This video is awesome and explains it all. Would recommend.
Thank you so much!
Great job with the tutorial Tim! 🚀If anyone’s looking for more Docker videos, we’ve released a web-based Docker viewer and a logging tutorial to help the community too 💪
Techno Tim - you are man and good tutor! THX ALOT!!!
DUDE thank you! I've been looking for a video like this that starts from the beginning and does a simple example that's easy to follow. Usually the videos all show these big applications that they are wanting to containerize and it can be hard for a beginner to follow along.
Glad to hear it!
Very good my man. Loved this sort of thing!
Just great overall stuff... Please do more along these lines. I can tell you were "right at home" with this stuff, but it was so good for me. So good, thank you.
Thank you!
how do i make a docker container for etlegacy? i want the client, not a dedicated server.
Have both official compiled release and git clone in build environment, on windows.
great explanation, very helpfull , like and subscribed
Wish you corrected yourself when you said ID for the image that was running for the exec command
Is this theoretically how someone could host a public website at home? For instance an artist portfolio or a wedding website?
I added the following to my aliases so I can just spin up test containers if I want to test a command or console app. Use host networking so I don't need to figure out the port forwarding every time, people should make their own decision on that.
shell-alpine='docker run --name alpine --rm -it --network=host -v "$(pwd)":/root alpine /bin/ash'
shell-busybox='docker run --name busybox --rm -it --network=host -v "$(pwd)":/root busybox'
shell-centos7='docker run --name centos7 --rm -it --network=host -v "$(pwd)":/root centos:centos7 /bin/bash'
shell-centos8='docker run --name centos8 --rm -it --network=host -v "$(pwd)":/root centos:centos8 /bin/bash'
shell-ubuntu-1804='docker run --name ubuntu-1804 --rm -it --network=host -v "$(pwd)":/root ubuntu:18.04 /bin/bash'
shell-ubuntu-2004='docker run --name ubuntu-2004 --rm -it --network=host -v "$(pwd)":/root ubuntu:20.04 /bin/bash'
How we connect mysql and php using docker? For database
Because of your Video, I have solve most of the issue, for that Request you please create deep details video for proxmox container
Your videos are phenomenal, yesterday I started looking at Ansible on your channel and made me wanna learn Devops (Ansible and Docker). Thank you so much, your explanations are by far the best on YT. Thank you once again, all the best! 😄
Glad you like them! Thank you so much!
10:47 If we only exposed the port 80 how did it work for port 8080 ??
shouldn't we have exposed the port 8080 ?
Tech noob here, I'm having trouble with finding the page he was on with the CLI
I tried following the instructions on the Docker Website and on other Tech Manuals and it didn't make since. But this Worked..Thank you sir..!!
💯💯💯💯
Thank you Tim for an amazing video once again! Addition to this can you cover SSL for docker containers be cover in your next video if possible or else a link to a super simple guide would do it. 😊
Already did :) ruclips.net/video/liV3c9m_OX8/видео.html
Gold standard content. Thank you
I was getting an error while building the image. I solved it by
COPY ./src/html /usr/share/nginx/html
I'm getting a path error, is that what you got too? Are you on windows?
@@jackmurak I was using the mac with m1 processor. The mac m1 has been showing many problems in docker, so I am just practising the docker in a Linux machine.
When I run docker build . it says it cannot load the metadata for nginx, how can I fix that?
11:47 how can i move your rectangular shape to the upper right of the screen to see whats after the created attribute "2 minutes..." something ??
What extension are you using with visual studio code to write your Dockerfile?
Another GREATI video! I love your tutorials. You started out with really "good" content (I've watched from day one), but now, it's at a much higher-level. This tutorial with your direct, to-the-point explanations, really helped me. I've tossed up Docker and K8s but the amount of notes I have is overwhelming. Especially when I want to spend five minutes and not five hours. I set this to over 100 contacts at work, and about 180 (I forget the number in the email group) at home. Programming friends who like similar content.
Keep up the great job! (Now rewatching "Uptime Kuma" video to get it working in my new K8s.)
Thank you so much! Recommending my channel to friends helps more than you know and I really appreciate it!
Great video. What i would liked to see is how can you integrate other things like keepalived into this or any other base image to be up to date always automatically , let it be the base iamge or keepalived while retaining the config files.
Thank you!
Hi , this is very useful for me ... thank you very much I'm using this tutorial to improve my self with docker projects ..
Muy buena explicacion... Estoy empezando con dockers y este ayuda mucho. Gracias x compartir
I was just about to start a course on udemy for docker, I feel I can avoid 4+ hours in that course with this one video of yours. Now if you could make one like this for docker swarm or kubernetes it would be amazing.
swarm and kubernetes are completely different, I propose to start with swarm if you want to make some high availability between your home services and few physical machines
Nicely done. Lots of help in one place, with end to end examples, in pretty much no time at all. Thanks!
Dockerhub shows 1.21.6-alpine and 1.22.0-alpine in your video. I even see this now when I visit Dockerhub. How did you determine that 1.10.1 was the latest version? Is there a tag that I'm not seeing? Is there maybe a docker command I can use to query for the lastest versions of base images?
Actually its rather easier. Now i have 4 images that i use to test my scripts or to mess around with and it took very little time to setup. I couldn't find a good example for building a dockerfile, but will in the long term. I think in the end dockerfile is the way to go. However, what i did was collected a folder with all my scripts and stuff, and created some scripts to setup my environment, which included downloading cli apps like nano, tmux, vim (to practice), wget, curl and mc. Then i copy my dotfiles to /root, and then source the new .bashrc, and voila, a perfectly (for my use) docker container!! excellent!!!!
Wow!..Thanks so much for this video! It was the best explanation I have found! I really learned alot!...Thanks again.
Definitely agreed with all the other comments, great tutorial and a lot of gems worth diving deeper on outside of this video.
3 improvements IMO - 5 to 10 seconds without wasting time
1 - mention the OS you're on
2 - mention the installer of Docker you used
3 - actually show the Dockerfile being created so it's clear about file extension
I'm seeing the bigger picture more and more now.
Thanks Tim, very informative, I cam to learn how to docker build but got alot more useful info ,thanks
Glad you enjoyed it
see my vs-code doesnt perform the same way as I type, what am I missing?
It didn't run on my machine :( I cannot make nginx listen to any port.
Thank you Johnny Depp for teaching me Docker.
Best Docker tutorial by Johnny Depp
Fantastic content, greatly explained and so clear. Thank you and keep going. you just have a new subscriber :D
Alpine is also all BSD/MIT licensed apart from the kernel, isn't it? Or am I getting it mixed up with another distro?
I did! Well done video, I probably won't need to be building my own containers much but had a special case, need to set up a quick web server to test something. Video was great! Oddly probably the most useful thing for me in the video was "exec into a container". I only knew how to do that from portainer and it wasn't working on one container but through this command in docker I was able to do it!
Did you ever do a video on putting your docker image on to the Docker Hub?
Thanks for this - I had no idea how to do anything but copy paste stuff for docker/portainer this morning. Followed this then a few hours later have managed to get automated builds from Github to Dockerhub, and then deployment from there to my home server for easy iteration!
This is an awesome tutorial! You simplified the process of learning Dockerfiles.
I wish this video existed when I was learning docker.
Would you make a video on Docker Compose and deployment to Kubernetes?
You just saved my a$$ bro!!! Thanks a lot
Nice video!
Hope you have k8s video ^^
Really very cool explanation. Will be checking out your content. Thanks man!
Hi nicely put together in few minutes. Nice...
ey yo we have Johnny Depp here on a glass high caff coffee . respects sire
Thanks, I learned something!
Hi techno tim. I love all your videos. Can you please make a video on creating docker swam and deploying traefik and portainer on it?
/usr is not „user“. Its for „Unix System resources“
How to use the build image in other place?
I don't understand how you even created the yaml file at the beginning as there is no option when I downloaded VS Code, how to got it to the server from your client, and how to converted the yaml file into a Docker file. Missed a lot of steps there.
Just do file>new text file then name it “Dockerfile”
This is an interesting video I must say. Interested in how images are being pushed to the container registry and Azure app services.
Thanks, this was pretty simple.
really loved ur video
bro what camera did you use??????
It is helpful. thank you
Yep, It was simple enough and useful for me. Thanks
Thank you! I've created my own docker container!
Thank you !!!
hi, my text in the html file is not showing on web browser after port mapping....need help asap please
Had the same problem. In that first row in your dockerfile remove everything after FROM nginx and it should work.
Im not able to find the link to github in the documentation link. Can you send me a link if you can ?. Thanks again.
docs.technotim.live/posts/custom-docker-image/
great tutorial, thank you ❤🪄
Is it possible to make my own streaming music docker container.?
Sure, anything is possible that you can do on a server or desktop
First
Thanks for the video! Maybe the best introductory video for docker!
When I type "From" in my Dockerfile, it doesn't offer image suggestions (or underline the correct image name) what does that mean? How do I set it up correctly?
Install the docker extension in vscode!
@@TechnoTim my God i hate myself.. Thank you!