I have been using dev container for over 2 years. Though running GUI programs is totally new to me. This is amazing. Thanks for sharing. Keep rocking !!!
@jordan422011 ай бұрын
Its crazy because we also went this way using both vscode and clion remoting into our containers. We didnt use this vscode plugin, but just provisioned the containers as remote entities with avahi and ssh. Then its just like remote development in any other ide that supports it, which is pretty much all of them
@yuvrajsingh-gm6zk9 ай бұрын
gotta be the best video that KZbin ever recommended to me:)
@vesk40002 ай бұрын
Wow, this video has been so useful. I didn't even know it was so easy to use Dev Containers with ROS specifically. I had no idea this video was about ROS specifically, so I just got really lucky. It works like an absolute charm!
@chrisogonas11 ай бұрын
Simply incredible! Thanks for showing that amazing tool 👍
@RamdanCode11 ай бұрын
Stumbled upon your video and it's been a game-changer! 🚀 Your content is like a compass guiding us in the right direction. Seriously, if anyone isn't diving into this, they're missing out big time. Thanks a ton for sharing such valuable insights. Grateful for your work!
@sbacon9211 ай бұрын
omg this actually change how I develop. thank you.
@alexsal606911 ай бұрын
Awesome video, I love developing inside containers and your video is a great introduction in the topic ! I’m looking forward to learning more about this 🙂
@ArticulatedRobotics11 ай бұрын
Thanks!
@7hr1LL_11 ай бұрын
omg running gui programs is a total game changer for me. thank you so much for that! very good video!
@RomanBaeriswyl10 ай бұрын
I am also doing this for years with VSCode on Windows, either with remote linux VMs and ssh into them or in WSL2. Glad IntelliJ is also working on implementing Dev-Containers as well (for those who want IntelliJ).
@ernesttan8090Ай бұрын
9:15 I dont quite understand what is meant by "extensions installed in the container"
@SakethBajjuri5 ай бұрын
This is the most insane video , i have seen . its lot useful for my development . Thanks for making these videos
@idincern11 ай бұрын
Great tutorial! Thanks!
@Z223IАй бұрын
This is an awesome video. So are his other videos.
@haroonrasheed38967 күн бұрын
Thanks for the wonderful video, I am getting an error when clicking on user doesnt have permission to run docker. I have followed every step even run docker hello-world and it runs fine. What I am doing wrong ?
@brownnerd11 ай бұрын
This video alone deserves a sub.
@atlantic_love6 ай бұрын
Speak for yourself.
@nicolasfelipe19 ай бұрын
awesome job, thanks for opening my eyes to dev cotainers.
@vuhoangdung9 ай бұрын
yeah I've been using dev container for a long while, really save a lot of my time to set up the environment, especially for Python
@6Belliarh6 Жыл бұрын
Thank you very much for another informative docker video. I'm really looking forward to an explanation of how this will all be related to the articubot_one project. I'm making a robot based on your project with its own nuances and additions. Docker should simplify the development very much, but so far it is not possible to run the project in a container.
@adi-j-uc3qi Жыл бұрын
i would also like guide/demo to run a project inside docker.
@JuanSuero-ln9vr7 күн бұрын
Can i run NVidia jetpack and use the container as the installation host and be able to hit the actual jetson connect through usb on my laptop? Can i run a container for a different architecture? ( im guessing no )
@giuliomariomartena630811 ай бұрын
What about developing in dev containers on remote machines?
@devchandbothra790811 ай бұрын
Can we use this for professional development of products? Also, same question for research related development
@ArticulatedRobotics10 ай бұрын
Yes it's great for any kind of development where you are regularly changing environments (e.g. need to support different distributions)
@DarkripetideАй бұрын
I am trying to make a ROS: Noetic images and I am have trouble with LCM not being installed. I cannot seem to get it working. Any ideas on how to solve this? I am working off the full desktop version of Noetic. Thanks for the help!
@saisriram2519Ай бұрын
Thank you very much for providing me with this solution and by implementing this I could able to run multiple ros version on my latest Ubuntu 24.04 LTS.
@ryanwiskes1881 Жыл бұрын
Vs Code is so powerful, let’s hope Microsoft doesn’t realize they could charge for it - great video
@BrandonTomonGoogle Жыл бұрын
They charge for visual studio, so I think they know. Besides the ide is just the gateway drug from their other services, like github copilot.
@yogpanjarale Жыл бұрын
They are already indirectly with github copilot
@parlor3115 Жыл бұрын
Shhh 🤐
@moose43h Жыл бұрын
Just use the open source one
@RajinderYadav11 ай бұрын
well it's the different plugins that are doing the real work, vscde is just a code editor, two different things.
@iTzBoosTerZx11 ай бұрын
Is there something like this for PhpStorm?
@pooryakhanali69218 ай бұрын
Thanks, that is a great explanation! Could you also explain if it is possible in this way run the noVNC on GPU!
@Fatykhoph7 ай бұрын
Hello ! I really liked the way to develop that you've described. But, what I can do on arm ? Because osfr doesn't support this architecture. Maybe this can be the theme for new video ? Anyway, thanks for your efforts.
@kimmiller7573 ай бұрын
Hello sir, thanks for the great video, just a quick question, how can I add Gazebo to the dev container? I tried to add 'RUN sudo apt install ros-humble-gazebo-*' to Dockerfile template, but the container failed ERROR: failed to solve: process "/bin/sh -c sudo apt install ros-humble-gazebo-*" , any help would be appriated.
@scott983907 ай бұрын
Can I use something *other* than Docker Desktop, like Rancher Desktop or Podman?
@marknabilibrahim Жыл бұрын
Thanks for the video, I have a question let's say we have a ROS system on my machine that is going to stream images using the cv bridge, how to get such image stream inside the docker image so that it can run a ros node that is having all its dependencies in that docker image.
@SEOng-gs7lj6 ай бұрын
is there a way to develop VSCode this way? It seems possible but I can't quite figure it out. Thanks.
@alvarezfermin794811 ай бұрын
Do you have a vscode terminal theme? It looks so cool!
@edhahaz9 ай бұрын
more indirection is exactly what you need when that package errors out! for sure !
@eewls Жыл бұрын
your channel is the billabong shirt of youtube
@mahahrishi11 ай бұрын
Does it work with WSL
@Lookoot10 ай бұрын
does this work with podman desktop also?
@erniea58434 ай бұрын
Yea! Installing ROS2 locally is such a pain. This is awesome.
@avalagum7957 Жыл бұрын
The only problem (not to everybody) is that we have to use vs code.
@guruware8612 Жыл бұрын
you can always use vim to manage your 300 sourcefiles and depedencies, want to code like in the 1980's with a terminal and jump back and forth to man pages - go for it
@avalagum7957 Жыл бұрын
@@guruware8612 'jump back and forth to man pages'? You don't know how to use vim/neovim yet 😊
@DaviAreias11 ай бұрын
You still have to manage your 300 dependencies in VScode with JSON instead of lua
@HoloTheDrunk11 ай бұрын
@@guruware8612 Never had a proper vim config eh?
@RenderingUser11 ай бұрын
@@guruware8612blud thinks terminals are only for the 1980s 💀
@Amirtronics10 ай бұрын
Can you make a ROS Kinetik docker?
@jdrab6 ай бұрын
I'm getting anxiety by looking at your workflow - constantly touching mouse :D
@cgmiguel11 ай бұрын
What about the overhead?
@WaliShayaan Жыл бұрын
Very awesome video
@PatricioGonzalezCabrera8 ай бұрын
what ubuntu theme is that? it looks really good
@ArticulatedRobotics7 ай бұрын
Ubuntu MATE, it's a different desktop environment to the standard GNOME. A bit lighter-weight.
@PatricioGonzalezCabrera7 ай бұрын
Nice i might try it in a vm later
@msolace58011 ай бұрын
never had a issue without docker containers for my code bases. don't know if it really saves any time :/
@artiefischel257916 күн бұрын
Why? What's the value proposition?
@epepsipepsi11 ай бұрын
Thank you so much for the amazing video! I had a quick question. Is it possible to use this to develop inside containers on a remote machine? Using remote and dev containers at the same time.
@frackinfamous612611 ай бұрын
Yep you can run Dev containers anywhere. You can also tunnel into the remote machine then launch your containers as if your on that machine with no setup. Just download the pack of remote dev extensions. Plenty of good docs on them too.
@ChrisHalden00710 ай бұрын
Great video. Thanks
@jordiespinafont298411 ай бұрын
This video is amazing, definetly changed my developement. I am trying it out and run into issues when connecting with another ROS system in the same network (in this case its a Turtlebot 4 using discovery Server) I am able to see the topics, but for example when I un `ros2 run teleop_twist_keyboard teleop_twist_keyboard` the robot does not react. I can ssh into the robot from the terminal, run the same command and then its happy times. What could be going on?
@qwertyuuytrewq8256 ай бұрын
I was wondering how to run Jest tests inside docker container so that VSCode extension shows result Visual Studio Code Dev Containers is an answer )
@patrykperonski5459 Жыл бұрын
I couldn't find an answer, so do topics in ROS use some kind of serialization for communication? I mean something like protobuf.
@ArticulatedRobotics Жыл бұрын
Yep, ROS 2 uses DDS underneath, it's a bit complicated and there are a few different implementations that can be swapped out (referred to as middlewares).
@TheAlethian7 ай бұрын
dev container appears to break codegpt, any advise?
@bakersaga81865 ай бұрын
Keep making awesome content like this! Super practical and useful for a PhD student like me trying to work with ROS across different platforms :)
@quicksilver_x11 ай бұрын
Can this docker stuff be run with Visual Studio Professional? I don't use VSCode after trying to get into it several times in the past.
@garethjax11 ай бұрын
interesting, how much memory does it uses ?
@rugvedtamhan3 ай бұрын
I tried opening it in a dev container, with ros desktop but it expects amd64. I am doing it on arm64 (raspberry pi 5). Does anyone have a solution?
@adi-j-uc3qi Жыл бұрын
I really appreciate your videos Can you make video of dev container based on windows os, For ROS2 i had used ubuntu previously by dual boot but i liked windows because of its user friendly nature and i also use solidworks. I used Docker and xlaunch to use GUI tools in windows and was able to launch gazebo and rviz, but i would like to learn to do it from vscode via dev container. Thank you!
@Phoenix_197411 ай бұрын
Hey , can you post video series of simulation of 6dof robotic arm using ROS (Gazebo and Rviz) also using a Moveit …and lastly integrating it with Raspberry pi and physical 6dof arm……
@Darren_UnikMediaGroup11 ай бұрын
absolute legend. thank you for this video lol
@Dexter101x9 ай бұрын
I’m not convinced I need docker still
@maurolimaok10 ай бұрын
Nice. Thanks!
@hithishn2221 Жыл бұрын
I have a request (i am a mechanical eng with little knowledge about open stack electronics and i am a noob when it comes to coding)...can you make a video on how effectively can we use use CHAT GPT for writing codes for robotics application. Such as (simple... motor drive controller, PID tuning, IOT..To complex.. imaging, computer vision etc) If YES, how effective and to what extent can complex code problems can be solved. If No, can other near future Ai tools like gemini will they be able help ease of development of code for Robotics sector? Thank you, Your subscriber😊
@avalagum7957 Жыл бұрын
I don't think it's possible at this moment. You can ask Chat GPT/Google bard to do things like this: In C programming language, write me a function that takes 3 arguments: an integer a, a boolean b and a string c then returns another string. Then you describe what your function logic is. If other people can understand what your function logic does when reading what you write, then those AI's might and be able to generate some code for you.
@Haddleton Жыл бұрын
Unfortunately at this moment in time Chat GPT is very prone to just straight up lying about certain aspects of programming implementation - in particular it likes to make up functions that feel like they should be part of external libraries, but actually aren't. You have to already know about the thing you're asking it in order to make sure it's right... which kind of defeats the whole purpose. There are uses for it - but they're not super obvious or straightforward right now.
@HoloTheDrunk11 ай бұрын
For any application that has to touch "real" things like databases, hardware or the such, I would heavily advise against trusting ChatGPT with anything.
@cartanfan-youtube11 ай бұрын
The trick is that you don't use chatgpt and actually learn robotics code so you know what your building and what it's doing instead of blindly copy pasting from a glorified next syllable predictor
@felixyasnopolski857111 ай бұрын
Just never ever use words "effectifely" and "ChatGPT" in one sentence, please. If you can't code - learn it, if you can get a grade on mechanical engineering, it's strange to see you whining about some code which even some kids can do.
@user-qj6jd1zz2b11 ай бұрын
hello sir, not relevant to this video but a request for a tutorial. im following your robot from scratch series to build my own firefighting mobile robot, im having troubles with integrating a thermal camera to my system because i, so used to your series that i cant find any tutorials online.
@ubercorey11 ай бұрын
Damn that is slick.
@JorgeMen-y1i4 ай бұрын
Hi, I'm not developing with this, and I'm not wasting my time. Software development is not only what you are doing, thankfully. ... but thanks.
@alexg111 Жыл бұрын
love the steam deck dev setup lol
@Driver___4 ай бұрын
I gessing it is not possable to run windows or iOS as "any" platform we need
@atlantic_love6 ай бұрын
:05 how I envisioned myself years and years ago as a developer. How I see myself now: print('Hello world'); :(
@radui746811 ай бұрын
Nice video and nice tool, but why is this useful? Does it really has any real benefits? Am I missing something?
@jeffreyhiggason400411 ай бұрын
Well for starters, we just added a ton of complexity to an already complex subject. When things break, now you are troubleshooting both docker and the underlying OS. Really though...for the average developer, you aren't adding anything except complexity.
@sy-gb1xf10 ай бұрын
actually i face some problem when running the 'reopen in the container', i have an already build docker image, and after that when i try to reopen it in the container vs code shows error. so i do it another way which is from the docker extension, find the image i have build before, and right click the image, select the attach visual studio code, this make me able to open my ros2 workspace inside the container with vs code, but when i try to run my package after sourcing, it show package not found and unable to find /opt/ros/humble/setup.bash where i can find this file when i run ls /opt/ros/humble/setup.bash in terminal. anyone know what is the problem? thanks
@gyungyoonpark7 ай бұрын
i have similar error. have you managed to solve it?
@StefanWerden11 ай бұрын
Great video about vscode +++++
@jojje3000-111 ай бұрын
X11 clients runs fine from within Docker container.
@OMARLOTFY-i2f2 ай бұрын
thank you
@rubiskelter11 ай бұрын
Linux is lagging behind with the lack of a RDP-like protocol to enable the GUI programs from running against containers. RDP desktops just look amazing.
@DanielVoogsgerd11 ай бұрын
It is not really lagging behind. There is/used to be X11 Forwarding, but ironically we are moving away from X11 at the moment.
@rubiskelter11 ай бұрын
@@DanielVoogsgerd how is it not lagging behind mate? X11 Forwarding is really buggy and unstable... would you say its on par with RDP? RDP works flawlessly. Probably something Wayland-based will have a decent RDP competitor in the future.
@DanielVoogsgerd11 ай бұрын
@@rubiskelter I thought you meant that there wasn't really anything. But fair enough, at least nowadays X11 Forwarding isn't really up to par with RDP I suppose. Although I think X11 used to be a lot better in the past, but applications are constructed differently nowadays. Personally I don't really use nor wanna use either 🤷♂️
@thecircusb0y111 ай бұрын
Dev on a deck , bold strat cotton
@markusesslinger10 ай бұрын
Imagine you could just hit "compile" to have the computer build a binary of some hundred kb size that would do what you wrote in the source - without Docker, virtualization, installation or other ceremonies and gigabytes of wasted memory. Wouldn't that be cool? Too bad we lost that ability in this millennium. 😂
@ArticulatedRobotics10 ай бұрын
Yes, but now imagine you are responsible for developing tools that have to work across a variety of robotics platforms, each with different environments and dependencies and quirks, and now you don't need to have a whole VM for each one. (Which is the current practical alternative in industry). I'd prefer a couple GB docker image to a hard drive full of VM's but each to their own!
@markusesslinger10 ай бұрын
@@ArticulatedRobotics I probably didn't get my point across correctly. I neither blame you nor Docker, but rather the industry which brought us the mess with all those dependencies, quirks and VMs. As robotics often involves a second, incompatible hardware platform, that is actually acceptable - but nowadays people use Docker for tiny tools like Pihole and think nothing of it. We got used to ridiculous waste of resources to compensate chaotic development environments. Ironically, one of the few bright spots is the language in which Docker was written in: With Go, you can write self-contained, tiny binaries and even cross compiling isn't that hard.
@Maman-Setrum11 ай бұрын
this is new for me. wow
@TheTimeProphet11 ай бұрын
Unless I can run WAMP and Angular 11 in Docker, then it is no good to me.
@HomeEngineer-wm5fg11 ай бұрын
I subscribed. Also on Twitter.
@hypnoticatrance4 ай бұрын
This is looking a bit like JupiterLab.
@NafunaTVchannel10 ай бұрын
I havent seen a bilabong shirt in decades
@jeffreyhiggason400411 ай бұрын
Explain to me why this is helpful as it relates to our ROS2 projects? You didn't do that. How exactly is me not using docker...wasting my time?
@ArticulatedRobotics11 ай бұрын
I guess there's two answers here. As to why Docker is useful in general, I've made a few videos on the topic. I think it's most helpful for package maintainers or people who are otherwise needing to work on multiple ROS versions or different sets of dependencies from a single machine. For example my main development machine is still running 20.04 and I chop and change between foxy and humble. This video in particular is about why Dev Containers make developing in a container (as opposed to deploying in a container) much easier, especially for people who are newer to Linux/working from Windows.
@jeffreyhiggason400411 ай бұрын
@@ArticulatedRobotics Thank you for responding.
@RolanRoyce11 ай бұрын
I couldn't even get Docker to work. I tried installing it a few times, on Win 10, and every time the same error prevented it from starting. I don't have the text of it, but it sure did tick me off.
@pepposoftwaredev3950 Жыл бұрын
"If you're not developing with this, you're wasting your time" are you the ultimate entity over everything. I have enough of titles designed only for you tubers monetization purpose which makes searching anything useless these days. I have nothing wrong with the video but still I have to see it or look at comments because the title (other than being a bit arrogant) is totally useless. You tubers please stop with this nonsensical titles and thumbnails. They \are making the you tube experience a waste of time
@ArticulatedRobotics Жыл бұрын
Yes, I do agree and it hurts me a little every time I have to do it! When I have the time I need to sit down and do some proper A-B testing with more straightforward titles/thumbs but it appears to me that this is just what you have to do to actually get the content viewed at all. My hope is that for most people they are satisfied enough with the result that they'll put up with it - I know that's how I feel about other creators. I try to put something in the description to help with searchability, I wish you could release with two sets of titles, one to drive stray clicks from general interest and one that is more informative for those searching a particular topic. It's definitely something I have to grow in, all I can say is that this video has outperformed my next best (in its first week) by over 4x, and if I called it "VS Code Dev Containers Overview", that wouldn't have happened, but I also don't want to waste people's time so perhaps there's a middle ground. :) Thanks for the feedback!
@pepposoftwaredev3950 Жыл бұрын
@@ArticulatedRobotics fair enough, thanks for replying that's much appreciated. While I am not much on you tube anymore I still enjoy good content from creators like you. my apologies, the comment was a bit too strong, sometime it can get frustrating..
@NeonGreenT11 ай бұрын
@@pepposoftwaredev3950 No man, I agree with both of you but your comment was not even the tiniest bit too strong, google (or other search engines for that matter) and youtube search are really near useless for me or atleast like 20 times worse than they've been a decade ago and since they're like the gateway to internet content, the whole internet is suffering heavily from this. And it's not really the creators fault, it's the fault of silicon valley. You can literally memorize and search for the exact title of a (unpopular) video and it still won't show up, which is why I almost bookmark everything I consider revisitable cause I ain't gonna find it that easily by searching anymore.
@adrgonzato3 ай бұрын
ILY
@giuliomariomartena63085 ай бұрын
Am I the only one with the building failing because the GID and UID of the user already (allegedly) exist?
@kebman4 ай бұрын
Lot twist: Docker runs a vm....
@nzam359311 ай бұрын
Yea have good AI over there😊
@ArticulatedRobotics11 ай бұрын
Thanks!
@vincentnthomas12 күн бұрын
Nix flake devShells better
@shalomcohen12210 ай бұрын
Nix makes cu better than containers for development environments
@smiletolerantly7 ай бұрын
Scrolled a long way to find someone mention nix, thank you!
@thedoctor547811 ай бұрын
I use pycharm tho
@tenkotalk7 ай бұрын
my brain hurt
@RocketLR11 ай бұрын
Most annoying for me is athat i need to develop from a lab enviroment that does not have internet access... So copilot which is my favorite tool does not work... I wish i could ssh into the remote dev server but have copilot go trough my own computer to the internet..
@michaelpesin9467 ай бұрын
If you're running dockers on mac or windows, they run in a VM....
@ordinarygg11 ай бұрын
I always like how all sh*t is put in container that sized 1Gb+, but in reality it's 99% apt get install a couple of packages ahahahahahahaha, overcomplicated for basically nothing.
@ArticulatedRobotics11 ай бұрын
Yeah it drives me nuts haha but at least it's smaller and quicker than a VM...
@msahu259510 ай бұрын
❤❤
@danddietz11 ай бұрын
You created a problem by using containers in the first place and then “solved” the problem by forcing a specific editor with a bunch of extra tooling added. Terrible.
@astrovicis11 ай бұрын
Sorry…who “created the problem” of different operating systems existing…? As a DevOps engineer, this is THE way to build things FAST. No offense, but you genuinely have no idea what you’re talking about.
@MiningForPies11 ай бұрын
Yeah. What a problem. Being able to compile your code against different environments from one machine. What a problem that is. Dumbest comment I’ve read this week.
@astrovicis11 ай бұрын
@@MiningForPies It’s not just about compiling code for different environments, it’s about the environments themselves. You neglect those environments, you will fail, within each for a different reason, and you will not know why, and you will be overwhelmed. I take it you’ve never had to install proof-of-concept software on-prem for differing environments. Clock yourself the next time you set up a PostgresQL server. Guarantee I’ll do it 8x faster at minimum.
@MiningForPies11 ай бұрын
@@astrovicis why are you saying that to me. I’m for this method.
@MiningForPies11 ай бұрын
@@astrovicis and I’ve been installing proof of concept software on premises for 25 years. Including one client who has a none internet connected set of servers with 900GB worth of databases, who are limited to secure USB data transfer (max size 6GB). Don’t you fucking come at me with having no experience.
@sixbutton911 ай бұрын
time was made for wasting. that's why i wrote programs.
@PatricioGonzalezCabrera8 ай бұрын
nice to see another linux user that makes coding vids
@notcorrect8 ай бұрын
If you are developing a container based application then using dev containers may not benefit you much.