Build YOUR OWN Dockerfile, Image, and Container - Docker Tutorial

แชร์
ฝัง

ความคิดเห็น • 249

  • @TechnoTim
    @TechnoTim  2 ปีที่แล้ว +57

    Have you built your down Docker container yet?

    • @barisgunduz
      @barisgunduz 2 ปีที่แล้ว +2

      Building soon. Thanks again.

    • @lucasdealmeidacarotta3174
      @lucasdealmeidacarotta3174 2 ปีที่แล้ว +1

      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.

    • @quinnhenry6719
      @quinnhenry6719 2 ปีที่แล้ว +7

      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!

    • @TechnoTim
      @TechnoTim  2 ปีที่แล้ว +2

      @@quinnhenry6719 Thank you so much!

    • @Maliuta
      @Maliuta 2 ปีที่แล้ว +1

      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).

  • @tintincr1
    @tintincr1 9 หลายเดือนก่อน +6

    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!

  • @usimian
    @usimian ปีที่แล้ว +17

    Wow, what a great tutorial. In less than 20 minutes you explained what others would have taken hours. Thank you!

  • @kevineugenius
    @kevineugenius 2 ปีที่แล้ว +68

    Thank you so much for NOT starting this with "here's how to download docker, here's how to install docker".

  • @DFsdf3443d
    @DFsdf3443d 2 ปีที่แล้ว +10

    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.

  • @TheRagingDonut
    @TheRagingDonut 2 ปีที่แล้ว +40

    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

    • @Clarence-Homelab
      @Clarence-Homelab 2 ปีที่แล้ว

      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. 😃

  • @Telorand1
    @Telorand1 3 หลายเดือนก่อน +2

    Still relevant and useful two years later. I feel like I can do this, now. LFG!

  • @devohnmitchell
    @devohnmitchell 4 หลายเดือนก่อน +1

    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..!!
    💯💯💯💯

  • @SilentKoala
    @SilentKoala 2 ปีที่แล้ว +1

    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.

    • @TechnoTim
      @TechnoTim  2 ปีที่แล้ว

      Thank you so much!

  • @Electrowave
    @Electrowave 9 หลายเดือนก่อน +2

    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 🙂

  • @matthewdavis2475
    @matthewdavis2475 6 หลายเดือนก่อน

    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.

  • @5urg3x
    @5urg3x 2 ปีที่แล้ว +3

    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!!

  • @MrConcord75
    @MrConcord75 2 ปีที่แล้ว +5

    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!

  • @yashsolanki069
    @yashsolanki069 2 ปีที่แล้ว +9

    Your teaching style is great!
    Would love to see more from you🙌

  • @Ericb1957
    @Ericb1957 10 หลายเดือนก่อน

    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!

  • @johnkmoore99
    @johnkmoore99 9 หลายเดือนก่อน

    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!

  • @mikegbow4203
    @mikegbow4203 2 ปีที่แล้ว +1

    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.

    • @TechnoTim
      @TechnoTim  2 ปีที่แล้ว +1

      Glad to hear it!

  • @GSquaredOG
    @GSquaredOG 2 ปีที่แล้ว +8

    Great video! Id love to see a similar video detailing containers and storage. Like covering the different options that are available to persist data.

  • @moeintaherkhani7289
    @moeintaherkhani7289 5 หลายเดือนก่อน +1

    Best Docker tutorial by Johnny Depp

  • @rukbook
    @rukbook ปีที่แล้ว +2

    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!

  • @denniskluytmans
    @denniskluytmans 2 ปีที่แล้ว +10

    Awesome!! Exactly what I needed. You sir, are a legend

  • @mikekadar3325
    @mikekadar3325 2 ปีที่แล้ว +1

    Nicely done. Lots of help in one place, with end to end examples, in pretty much no time at all. Thanks!

  • @TazzSmk
    @TazzSmk หลายเดือนก่อน

    so simple yet comprehensive video, thanks!

  • @Marco-zb7wf
    @Marco-zb7wf ปีที่แล้ว +1

    Gold standard content. Thank you

  • @McWickyyyy
    @McWickyyyy 2 ปีที่แล้ว

    I’ve used Docker for 4-5 years. Just wanted to watch and see how you covered it. Great tutorial. You should do a video on Docker-compose if you haven’t already. I think your teaching and explanation of things is some of the best on TH-cam. Also you can show people Docker desktop and how you can alternatively do some of this stuff via Docker desktop once they learn the basics.
    I think I also watched a video of yours a while back talking about dual booting from linux and windows…you earned my sub back then cuz your explanation was amazing as it is also in this video. Keep up the awesome work. I’ll be on the lookout for new content so I can learn something new

    • @TechnoTim
      @TechnoTim  2 ปีที่แล้ว

      Thank you so much! A lot of time and effort goes into my choice of words and how I explain thing so I appreciate you noticing and leaving such a nice comment! More where that came from!!

  • @traxeonic3600
    @traxeonic3600 2 ปีที่แล้ว

    A container is a runtime environment that only contains the configuration and dependencies required to run that software only. It differentiates itself from a VM because VM's contain everything required to run the OS plus the runtime. I've had to explain this a billion times at work. Thanks for the video!

    • @TechnoTim
      @TechnoTim  2 ปีที่แล้ว

      Thank you! Just send them this! :)

  • @Doesntcompute2k
    @Doesntcompute2k 2 ปีที่แล้ว +1

    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.)

    • @TechnoTim
      @TechnoTim  2 ปีที่แล้ว +1

      Thank you so much! Recommending my channel to friends helps more than you know and I really appreciate it!

  • @Shambolicoholic
    @Shambolicoholic 2 ปีที่แล้ว

    Something many of us have wondered about as we install containers 👍 Thanks!

  • @angelosalexiou
    @angelosalexiou 2 ปีที่แล้ว

    Thanks for the video! Maybe the best introductory video for docker!

  • @myr3434
    @myr3434 2 ปีที่แล้ว

    I’m just here to say that the title and title screen on this video are fantastic.

  • @Guizm0017
    @Guizm0017 ปีที่แล้ว

    super easy to follow along and properly explained

  • @stefanbogdanovic590
    @stefanbogdanovic590 2 ปีที่แล้ว +1

    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! 😄

    • @TechnoTim
      @TechnoTim  2 ปีที่แล้ว +1

      Glad you like them! Thank you so much!

  • @coletraintechgames2932
    @coletraintechgames2932 2 ปีที่แล้ว +2

    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.

  • @betterstack
    @betterstack 8 หลายเดือนก่อน

    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 💪

  • @danielyrovas
    @danielyrovas 2 ปีที่แล้ว +1

    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.

  • @odysci
    @odysci 2 ปีที่แล้ว

    Excellent short tutorial on Docker.

    • @TechnoTim
      @TechnoTim  2 ปีที่แล้ว

      Glad you liked it!

  • @MrDalholm
    @MrDalholm 2 ปีที่แล้ว +1

    Great video Tim..
    Could you perhaps do a follow-up on the CI part?

  • @benjohnson9747
    @benjohnson9747 ปีที่แล้ว

    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.

  • @zachwolf5122
    @zachwolf5122 2 ปีที่แล้ว

    5 years later and you’re still teaching me 🤝

    • @TechnoTim
      @TechnoTim  2 ปีที่แล้ว

      Hey man! Thanks!!

  • @patrickprucha5522
    @patrickprucha5522 ปีที่แล้ว

    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!!!!

  • @grundgaenger
    @grundgaenger 2 ปีที่แล้ว +1

    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.

  • @kebab-case
    @kebab-case 2 ปีที่แล้ว

    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?

  • @shrinidhig3672
    @shrinidhig3672 2 ปีที่แล้ว

    had never understood the purpose of .dockerignore... the way you explained is simply superb

  • @longrolstral
    @longrolstral 9 หลายเดือนก่อน

    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.

  • @leevandamme
    @leevandamme ปีที่แล้ว

    @TechnoTim, this is a great tutorial. Thanks for putting this together!

  • @adjuxnt
    @adjuxnt 2 ปีที่แล้ว +1

    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!

  • @oleksandrburkhan3277
    @oleksandrburkhan3277 2 ปีที่แล้ว

    Thank you! I've created my own docker container!

  • @popaemilian
    @popaemilian 2 ปีที่แล้ว

    Hi, great video, I love what you are doing and I'm following a lot of tutorials and tips from you. About docker, as explanation of why you removed EXPOSE and CMD is that when you create a dockerfile "FROM" an image, it will inherit all the EXPOSE and CMD from the original image, you can override them like you did in case you want other entrypoint CMD than the original. You can go on DockerHub on that image and then to Tags, search for your image and when you click on the image name you will see the sets of instructructions of the Dockerfile of that Image.

    • @TechnoTim
      @TechnoTim  2 ปีที่แล้ว +1

      Thank you! Great explanation!

  • @andrewsouthern3295
    @andrewsouthern3295 2 ปีที่แล้ว

    That intro was smooth !

  • @Mr.AhmedAlzeidi
    @Mr.AhmedAlzeidi 2 ปีที่แล้ว

    Hi , this is very useful for me ... thank you very much I'm using this tutorial to improve my self with docker projects ..

  • @NazarRud
    @NazarRud 2 ปีที่แล้ว

    Yep, It was simple enough and useful for me. Thanks

  • @ts47920535
    @ts47920535 2 ปีที่แล้ว

    What an absolute banger of a video. Loved everything. The editing, the pace, what you explained. I learned more in 18 minutes than in other 2 hour long videos about the subject.
    Got a question, and would love some pointers on how to search for it:
    I work on web dev and we're having issues running the project on arm / m1 machines, as the project setup is really finicky and needs a really specific host configuration to build the way it should.
    So my plan with docker is to create an image with everything I need to develop _inside_ the image. Meaning a fully-fledged ubuntu-based image with my zsh, neovim, nvm to manage npm+node, including my configs for all those programs, and my work project too. Pretty much a 'clone' of the important stuff of my PC.
    I've done simple nginx releases in the past, but i'm completely lost on how to tackle something this complex.
    - I would work by exec-ing into the docker image. Performance is not an issue, as the image-runner would be really beefy.

  • @hectorherrera4193
    @hectorherrera4193 ปีที่แล้ว

    Muy buena explicacion... Estoy empezando con dockers y este ayuda mucho. Gracias x compartir

  • @magicmanj32
    @magicmanj32 ปีที่แล้ว

    Thanks Tim, very informative, I cam to learn how to docker build but got alot more useful info ,thanks

    • @TechnoTim
      @TechnoTim  ปีที่แล้ว

      Glad you enjoyed it

  • @pedrolopez4555
    @pedrolopez4555 ปีที่แล้ว

    Clear and concise. Thank you!

  • @devinbartley5768
    @devinbartley5768 3 หลายเดือนก่อน

    Thanks, this was pretty simple.

  • @ryheinz9544
    @ryheinz9544 2 ปีที่แล้ว

    Wow!..Thanks so much for this video! It was the best explanation I have found! I really learned alot!...Thanks again.

  • @JonathanRobert23
    @JonathanRobert23 2 ปีที่แล้ว +1

    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. 😊

    • @TechnoTim
      @TechnoTim  2 ปีที่แล้ว

      Already did :) th-cam.com/video/liV3c9m_OX8/w-d-xo.html

  • @vanopiano
    @vanopiano 2 ปีที่แล้ว +1

    Thank you for this video with explanation

  • @dominikbregovic7052
    @dominikbregovic7052 ปีที่แล้ว

    Your videos are great and they really helped me a lot. Thank you for your effort.

  • @AhmetBurakAkay
    @AhmetBurakAkay ปีที่แล้ว

    High quality video. Thank you.

  • @Krushx0
    @Krushx0 2 ปีที่แล้ว +1

    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.

  • @sonnix31
    @sonnix31 2 ปีที่แล้ว

    Really very cool explanation. Will be checking out your content. Thanks man!

  • @balub778
    @balub778 2 ปีที่แล้ว +1

    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.

    • @vanopiano
      @vanopiano 2 ปีที่แล้ว +1

      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

  • @feibels12
    @feibels12 2 ปีที่แล้ว

    Great video as per usual Tim! I'm developing an IaaS platform for consumer grade hybrid clouds and your videos have helped immensely. Thanks!

    • @TechnoTim
      @TechnoTim  2 ปีที่แล้ว

      Awesome, thank you!

  • @ryanbyrne1788
    @ryanbyrne1788 ปีที่แล้ว

    really great tutorial and just what I needed!

  • @abiodunibrahim3340
    @abiodunibrahim3340 2 ปีที่แล้ว

    This is an interesting video I must say. Interested in how images are being pushed to the container registry and Azure app services.

  • @cvought1
    @cvought1 2 ปีที่แล้ว

    Amazing timing Tim!

  • @brunekxxx91
    @brunekxxx91 5 หลายเดือนก่อน

    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

  • @niccodev7704
    @niccodev7704 2 ปีที่แล้ว

    Awesome, that was very clear and easy to follow, thank you 😊

  • @lawrence1519
    @lawrence1519 2 ปีที่แล้ว

    Boa thanks man :D i just needed some "how to .. for dummies" :D

    • @TechnoTim
      @TechnoTim  2 ปีที่แล้ว

      We are all dummies at some point!

  • @alexplaytop
    @alexplaytop 9 หลายเดือนก่อน

    Techno Tim - you are man and good tutor! THX ALOT!!!

  • @domijantas481
    @domijantas481 ปีที่แล้ว

    Fantastic content, greatly explained and so clear. Thank you and keep going. you just have a new subscriber :D

  • @rohitbuchake
    @rohitbuchake 2 ปีที่แล้ว

    Because of your Video, I have solve most of the issue, for that Request you please create deep details video for proxmox container

  • @D3M0320
    @D3M0320 2 ปีที่แล้ว

    Id like to see you do a tutorial of windows docker containers…it seems to be entail a lot more tedious set up to actually run them…and I’m curious as to what their use cases might be

  • @rishikadas9032
    @rishikadas9032 ปีที่แล้ว

    Hi nicely put together in few minutes. Nice...

  • @kennethnzioka2904
    @kennethnzioka2904 หลายเดือนก่อน

    Very helpful. Thank you.

  • @normandrental2695
    @normandrental2695 ปีที่แล้ว

    This is awesome!! Thank you so much!!

  • @mrshrek8767
    @mrshrek8767 2 ปีที่แล้ว

    Just a little tip for everyone so save you some time. If you want to do commands on a particular container you do not need to type out its entire name. A few chars from the Container ID will be enough and docker will detect it just fine. I notice in my dev cycles that it start to get really annoying typing every docker command out.

    • @TechnoTim
      @TechnoTim  2 ปีที่แล้ว

      Great tip! I have zsh with the docker plugin that gives me tab completion!

  • @70shahin
    @70shahin 2 ปีที่แล้ว

    Very informative. Thank you.
    2 Questions,
    1. how you knew that html file should be in that path without inspecting the live image?
    how can "we" know where to put our files in our base images?
    2.Can you please make a docker-compose out of this docker file?
    Thanks again

    • @TechnoTim
      @TechnoTim  2 ปีที่แล้ว

      2. is in the docs, already created a compose file that will build this local image for you!

  • @galnadjar
    @galnadjar ปีที่แล้ว

    great explanation, very helpfull , like and subscribed

  • @crateer
    @crateer 2 ปีที่แล้ว

    Great video and flawless presentation skills!
    Instant sub!

  • @mirkalaa
    @mirkalaa ปีที่แล้ว

    great tutorial, thank you ❤🪄

  • @lcch9755
    @lcch9755 2 ปีที่แล้ว

    You just saved my a$$ bro!!! Thanks a lot

  • @Wongmc644
    @Wongmc644 ปีที่แล้ว

    This is great tutorial. Thanks!

    • @TechnoTim
      @TechnoTim  ปีที่แล้ว

      Glad you enjoyed it!

  • @griffjrg
    @griffjrg 2 ปีที่แล้ว

    I finally understand it bro yes thank you

  • @cassiuslives4807
    @cassiuslives4807 10 หลายเดือนก่อน

    Thanks, I learned something!

  • @arthurkateeba
    @arthurkateeba ปีที่แล้ว

    This was really quite educative. However, could you also create a video demonstrating how to build a linux desktop image using docker desktop on windows

    • @TechnoTim
      @TechnoTim  ปีที่แล้ว

      Thank you! I would probably use WSL on windows and the process is the same!

  • @lakshminarasimmanv
    @lakshminarasimmanv 2 ปีที่แล้ว

    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?

  • @juliensoyer5786
    @juliensoyer5786 2 ปีที่แล้ว

    Excellent tutorial thank you !

  • @JohnWeland
    @JohnWeland 2 ปีที่แล้ว

    Awesome video! I have a request, do a video on building wikijs on the pi cluster!

    • @TechnoTim
      @TechnoTim  2 ปีที่แล้ว

      Great suggestion!

  • @kermitdafrog8
    @kermitdafrog8 ปีที่แล้ว

    Did you ever do a video on putting your docker image on to the Docker Hub?

  • @Democracy_Manifest
    @Democracy_Manifest 10 หลายเดือนก่อน

    Great tutorial 👏👏👏

  • @eidercafe
    @eidercafe 9 หลายเดือนก่อน

    Is this theoretically how someone could host a public website at home? For instance an artist portfolio or a wedding website?

  • @kumarnachiketa1981
    @kumarnachiketa1981 ปีที่แล้ว

    excellent work, thank you!

  • @parthasaha9151
    @parthasaha9151 ปีที่แล้ว

    Your are too good for beginner

  • @Aza.dChaiwala
    @Aza.dChaiwala 3 หลายเดือนก่อน

    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

  • @andrewdavies5722
    @andrewdavies5722 2 ปีที่แล้ว

    Really good tutorial. Following along nicely.
    How do you know what the default command is for a base image?

    • @TechnoTim
      @TechnoTim  2 ปีที่แล้ว

      I think you have to look at that base image. Most of the time I think it’s nothing. Thank you!

  • @martin_kuchar
    @martin_kuchar ปีที่แล้ว

    Hello, please which dockerfile VSC plugin offers image version numbers in FROM section?

  • @joeharyar9873
    @joeharyar9873 2 ปีที่แล้ว

    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