<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Lau!</title>
    <description>The latest articles on DEV Community by Lau! (@laudisdominguezsvg).</description>
    <link>https://dev.to/laudisdominguezsvg</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3920327%2F63648672-bb48-46df-86b5-c2762bbab815.JPG</url>
      <title>DEV Community: Lau!</title>
      <link>https://dev.to/laudisdominguezsvg</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/laudisdominguezsvg"/>
    <language>en</language>
    <item>
      <title>Developer Journal..“My First Docker + Nginx Setup on Ubuntu”</title>
      <dc:creator>Lau!</dc:creator>
      <pubDate>Fri, 08 May 2026 18:59:40 +0000</pubDate>
      <link>https://dev.to/laudisdominguezsvg/developer-journalmy-first-docker-nginx-setup-on-ubuntu-33jo</link>
      <guid>https://dev.to/laudisdominguezsvg/developer-journalmy-first-docker-nginx-setup-on-ubuntu-33jo</guid>
      <description>&lt;p&gt;Hello Everyone!&lt;/p&gt;

&lt;p&gt;A while ago, I decided to learn Docker and, honestly, it turned out to be much simpler than I expected. In this article, I’ll walk you through how I configured Docker on Windows using WSL (Windows Subsystem for Linux) and ran my very first container.&lt;/p&gt;

&lt;p&gt;If you're a developer using Windows and want to get into Docker, this post is for you.&lt;/p&gt;

&lt;p&gt;Spoiler: At the end, you’ll see the Nginx welcome page in your browser — and that feeling is amazing 🎉&lt;/p&gt;

&lt;p&gt;What is Docker? (In Simple Terms)&lt;/p&gt;

&lt;p&gt;Docker is a platform that allows you to package your application inside a “container” — an isolated and portable environment that behaves the same way on any machine.&lt;/p&gt;

&lt;p&gt;Think of it as a sealed box containing everything your app needs to run.&lt;/p&gt;

&lt;p&gt;Prerequisites&lt;/p&gt;

&lt;p&gt;Before getting started, you’ll need:&lt;/p&gt;

&lt;p&gt;✅ Windows 10 or 11&lt;br&gt;
✅ WSL (Windows Subsystem for Linux) enabled&lt;br&gt;
✅ A Linux distribution installed (we’ll use Ubuntu)&lt;br&gt;
✅ PowerShell running as Administrator&lt;br&gt;
Step 1: Verify and Install WSL&lt;/p&gt;

&lt;p&gt;WSL allows you to run Linux commands directly on Windows. Let’s first verify whether it’s installed.&lt;/p&gt;

&lt;p&gt;Option A: List all available distributions&lt;br&gt;
wsl --list --online&lt;/p&gt;

&lt;p&gt;This command will show all Linux distributions available for installation.&lt;/p&gt;

&lt;p&gt;Option B: Install Ubuntu on WSL (if you don’t already have it)&lt;br&gt;
wsl --install -d Ubuntu&lt;br&gt;
Option C: Check installed distributions&lt;br&gt;
wsl --list --verbose&lt;/p&gt;

&lt;p&gt;This command is very useful because it shows the state and version of each installed distribution.&lt;/p&gt;

&lt;p&gt;Step 2: Open Ubuntu in WSL&lt;/p&gt;

&lt;p&gt;From PowerShell, type:&lt;/p&gt;

&lt;p&gt;wsl -d Ubuntu&lt;/p&gt;

&lt;p&gt;You should see something like:&lt;/p&gt;

&lt;p&gt;user@PC:~$&lt;/p&gt;

&lt;p&gt;Congratulations! You are now inside Ubuntu. From this point on, all commands will be Linux commands.&lt;/p&gt;

&lt;p&gt;Step 3: Verify and Install Docker&lt;/p&gt;

&lt;p&gt;First, let’s check if Docker is already installed:&lt;/p&gt;

&lt;p&gt;docker --version&lt;/p&gt;

&lt;p&gt;If Docker is not installed, you’ll see a message suggesting available packages. Install it with:&lt;/p&gt;

&lt;p&gt;sudo apt-get install docker.io -y&lt;/p&gt;

&lt;p&gt;The -y flag automatically answers “yes” to confirmation prompts, saving time.&lt;/p&gt;

&lt;p&gt;Verify the installation&lt;br&gt;
docker --version&lt;/p&gt;

&lt;p&gt;You should see something like:&lt;/p&gt;

&lt;p&gt;Docker version 24.0.x&lt;br&gt;
Step 4: Enable and Start the Docker Service&lt;/p&gt;

&lt;p&gt;Docker is now installed, but we still need to start the service.&lt;/p&gt;

&lt;p&gt;Enable Docker to start automatically&lt;br&gt;
sudo systemctl enable docker&lt;br&gt;
Start the service immediately&lt;br&gt;
sudo systemctl start docker&lt;br&gt;
Step 5: Fix Permission Errors&lt;/p&gt;

&lt;p&gt;If you encounter an error like this while running Docker commands:&lt;/p&gt;

&lt;p&gt;PERMISSION DENIED WHILE TRYING TO CONNECT TO THE DOCKER API AT UNIX:///VAR/RUN/DOCKER.SOCK&lt;/p&gt;

&lt;p&gt;Don’t worry! This is completely normal. Docker requires special permissions.&lt;/p&gt;

&lt;p&gt;Add your user to the Docker group:&lt;/p&gt;

&lt;p&gt;sudo usermod -aG docker your_user&lt;/p&gt;

&lt;p&gt;Replace your_user with your Linux username.&lt;/p&gt;

&lt;p&gt;Now you have two options:&lt;br&gt;
Option 1 (Recommended): Close and reopen Ubuntu&lt;br&gt;
exit&lt;/p&gt;

&lt;p&gt;Then reopen it from PowerShell:&lt;/p&gt;

&lt;p&gt;wsl -d Ubuntu&lt;br&gt;
Option 2: Activate the group immediately&lt;br&gt;
newgrp docker&lt;br&gt;
Verify everything works&lt;br&gt;
docker ps&lt;/p&gt;

&lt;p&gt;If you see an empty table with headers like CONTAINER ID, IMAGE, etc., Docker is working correctly 🎉&lt;/p&gt;

&lt;p&gt;Step 6: Run Your First Container (Nginx)&lt;/p&gt;

&lt;p&gt;Here comes the fun part. Let’s run Nginx, one of the most popular web servers:&lt;/p&gt;

&lt;p&gt;docker run -d -p 8080:80 nginx&lt;br&gt;
What does this command do?&lt;br&gt;
docker run → Runs a container&lt;br&gt;
-d → Runs it in detached mode (background)&lt;br&gt;
-p 8080:80 → Maps port 8080 on your machine to port 80 inside the container&lt;br&gt;
nginx → The image you want to run (Docker will download it automatically)&lt;/p&gt;

&lt;p&gt;You should see something similar to:&lt;/p&gt;

&lt;p&gt;Unable to find image 'nginx:latest' locally&lt;br&gt;
latest: Pulling from library/nginx&lt;br&gt;
...&lt;br&gt;
Digest: sha256:abc123...&lt;br&gt;
Status: Downloaded newer image for nginx:latest&lt;br&gt;
a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6&lt;/p&gt;

&lt;p&gt;That last string is your container ID.&lt;/p&gt;

&lt;p&gt;Your container is now running 🚀&lt;/p&gt;

&lt;p&gt;Step 7: Verify the Container is Running&lt;br&gt;
docker ps&lt;/p&gt;

&lt;p&gt;You should see your container listed with the status Up.&lt;/p&gt;

&lt;p&gt;Step 8: The Best Part — Open it in Your Browser&lt;/p&gt;

&lt;p&gt;Open any browser on Windows (Chrome, Firefox, Edge, etc.) and go to:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://localhost:8080" rel="noopener noreferrer"&gt;http://localhost:8080&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If everything worked correctly, you’ll see the beautiful Nginx welcome page saying:&lt;/p&gt;

&lt;p&gt;“Welcome to nginx!”&lt;/p&gt;

&lt;p&gt;That feeling when you realize everything is actually working is incredible 🚀&lt;/p&gt;

&lt;p&gt;Additional Useful Commands&lt;/p&gt;

&lt;p&gt;Here are a few Docker commands you’ll probably want to know:&lt;/p&gt;

&lt;p&gt;View all containers (including stopped ones)&lt;br&gt;
docker ps -a&lt;br&gt;
Stop a container&lt;br&gt;
docker stop CONTAINER_ID&lt;br&gt;
Remove a container&lt;br&gt;
docker rm CONTAINER_ID&lt;br&gt;
View container logs&lt;br&gt;
docker logs CONTAINER_ID&lt;br&gt;
Lessons Learned&lt;/p&gt;

&lt;p&gt;✅ WSL is essential: Without WSL, Docker on Windows can feel complicated. With WSL, the experience becomes much smoother.&lt;/p&gt;

&lt;p&gt;✅ Permissions matter: “Permission Denied” errors are completely normal. It’s not a broken installation — you just need the correct user group permissions.&lt;/p&gt;

&lt;p&gt;✅ Docker is beginner-friendly: The Docker ecosystem has done an excellent job making containerization accessible.&lt;/p&gt;

&lt;p&gt;✅ Documentation is your best friend: If something breaks, check the logs using docker logs.&lt;/p&gt;

&lt;p&gt;What’s Next?&lt;/p&gt;

&lt;p&gt;Now that Docker is working, you can:&lt;/p&gt;

&lt;p&gt;Build your own Dockerfile for a personal application&lt;br&gt;
Explore Docker Hub and discover thousands of pre-configured images&lt;br&gt;
Learn Docker Compose for multi-container orchestration&lt;br&gt;
Publish your own images on Docker Hub&lt;br&gt;
Final Thoughts&lt;/p&gt;

&lt;p&gt;My first experience with Docker on Windows was honestly great.&lt;/p&gt;

&lt;p&gt;The process is clear, well documented, and most importantly — you get immediate results. And that’s one of the best ways to learn.&lt;/p&gt;

&lt;p&gt;If you’re thinking about learning Docker:&lt;/p&gt;

&lt;p&gt;Don’t wait any longer.&lt;/p&gt;

&lt;p&gt;The journey into containerization begins with a simple:&lt;/p&gt;

&lt;p&gt;docker run&lt;/p&gt;

&lt;p&gt;Have questions? Ran into problems? Share your experience in the comments — I’d love to hear about your first Docker setup too 💙&lt;/p&gt;

&lt;p&gt;References &amp;amp; Resources&lt;br&gt;
Docker Official Documentation&lt;br&gt;
WSL Documentation&lt;br&gt;
Docker Hub&lt;/p&gt;

</description>
      <category>docker</category>
      <category>nginx</category>
      <category>learning</category>
      <category>linux</category>
    </item>
    <item>
      <title>Don’t touch Fabric unless you’re ready for distributed headaches 😵‍💫</title>
      <dc:creator>Lau!</dc:creator>
      <pubDate>Fri, 08 May 2026 16:02:48 +0000</pubDate>
      <link>https://dev.to/laudisdominguezsvg/dont-touch-fabric-unless-youre-ready-for-distributed-headaches-1h12</link>
      <guid>https://dev.to/laudisdominguezsvg/dont-touch-fabric-unless-youre-ready-for-distributed-headaches-1h12</guid>
      <description>&lt;h1&gt;
  
  
  Building a VIP Vehicle Inventory System with Hyperledger Fabric 🚗
&lt;/h1&gt;

&lt;p&gt;I recently started designing a new blockchain project focused on managing exclusive vehicle inventories for VIP collectors using Hyperledger Fabric.&lt;/p&gt;

&lt;p&gt;The idea is to build a permissioned system where verified members, dealers and validators can securely manage high-value vehicle assets, ownership history and inventory access while keeping sensitive data private.&lt;/p&gt;

&lt;p&gt;One thing I’m realizing very quickly is that Fabric is &lt;em&gt;very different&lt;/em&gt; from typical blockchain development.&lt;/p&gt;

&lt;p&gt;At first, concepts like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MSPs&lt;/li&gt;
&lt;li&gt;endorsement policies&lt;/li&gt;
&lt;li&gt;peers&lt;/li&gt;
&lt;li&gt;orderers&lt;/li&gt;
&lt;li&gt;private data collections&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;felt less like blockchain and more like trying to assemble enterprise IKEA furniture without instructions 😵‍💫&lt;/p&gt;

&lt;p&gt;But the deeper I go, the more I understand why enterprise blockchain architecture requires this level of structure and permission management.&lt;/p&gt;

&lt;p&gt;Right now I’m focusing on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;defining actors and trust models&lt;/li&gt;
&lt;li&gt;modeling business logic&lt;/li&gt;
&lt;li&gt;planning chaincode structure&lt;/li&gt;
&lt;li&gt;understanding what belongs on-chain vs off-chain&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Still early in development, but excited to keep building and documenting the process.&lt;/p&gt;

&lt;h1&gt;
  
  
  Hyperledger #Fabric #Blockchain #Web3 #SmartContracts
&lt;/h1&gt;

</description>
      <category>blockchain</category>
      <category>hyperledger</category>
      <category>rwa</category>
      <category>web3</category>
    </item>
  </channel>
</rss>
