{"id":484,"date":"2026-02-10T13:17:18","date_gmt":"2026-02-10T13:17:18","guid":{"rendered":"https:\/\/iotnoob.com\/wordpress\/?p=484"},"modified":"2026-02-10T13:19:16","modified_gmt":"2026-02-10T13:19:16","slug":"%e0%b8%a5%e0%b8%87-laravel-version-%e0%b9%80%e0%b8%81%e0%b9%88%e0%b8%b2%e0%b9%86-%e0%b8%94%e0%b9%89%e0%b8%a7%e0%b8%a2-docker","status":"publish","type":"post","link":"https:\/\/iotnoob.com\/wordpress\/2026\/02\/10\/%e0%b8%a5%e0%b8%87-laravel-version-%e0%b9%80%e0%b8%81%e0%b9%88%e0%b8%b2%e0%b9%86-%e0%b8%94%e0%b9%89%e0%b8%a7%e0%b8%a2-docker\/","title":{"rendered":"\u0e25\u0e07 Laravel version \u0e40\u0e01\u0e48\u0e32\u0e46 \u0e14\u0e49\u0e27\u0e22 Docker"},"content":{"rendered":"\n<p>\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e17\u0e14\u0e25\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Application version \u0e40\u0e01\u0e48\u0e32\u0e46\u0e1a\u0e49\u0e32\u0e07<\/p>\n\n\n\n<p>\u0e01\u0e32\u0e23\u0e08\u0e30\u0e43\u0e0a\u0e49 version \u0e40\u0e01\u0e48\u0e32\u0e46\u0e01\u0e47\u0e15\u0e49\u0e2d\u0e07\u0e15\u0e34\u0e14 php \u0e23\u0e38\u0e48\u0e19\u0e40\u0e01\u0e48\u0e32\u0e46\u0e14\u0e49\u0e27\u0e22 &#8211; \u0e43\u0e19\u0e17\u0e32\u0e07\u0e01\u0e25\u0e31\u0e1a\u0e01\u0e31\u0e19\u0e16\u0e49\u0e32\u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e25\u0e07 laravel \u0e43\u0e2b\u0e21\u0e48\u0e46 \u0e01\u0e47\u0e15\u0e49\u0e2d\u0e07\u0e1b\u0e23\u0e31\u0e1a\u0e40\u0e1b\u0e47\u0e19 php version \u0e43\u0e2b\u0e21\u0e48\u0e46 \u0e14\u0e49\u0e27\u0e22<\/p>\n\n\n\n<p>\u0e43\u0e0a\u0e49 Docker \u0e43\u0e19\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 \u0e08\u0e30\u0e44\u0e14\u0e49\u0e44\u0e21\u0e48\u0e01\u0e27\u0e19\u0e15\u0e31\u0e27 system \u0e2b\u0e25\u0e31\u0e01<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"723\" height=\"286\" src=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/02\/image.png\" alt=\"\" class=\"wp-image-485\" srcset=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/02\/image.png 723w, https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/02\/image-300x119.png 300w\" sizes=\"auto, (max-width: 723px) 100vw, 723px\" \/><\/figure>\n\n\n\n<p>docker-compose.yml<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">services:\n  # PHP + Apache Service\n  php-apache:\n    build: .\/apache_php\n    ports:\n      - \"8080:80\"\n    volumes:\n      - .\/www:\/var\/www\/html\n    networks:\n      - lamp-network\n    depends_on:\n      - mysql\n\n  # MySQL Service\n  mysql:\n    image: mysql:5.7\n    restart: always\n    environment:\n      MYSQL_ROOT_PASSWORD: rootpassword\n      MYSQL_DATABASE: my_database\n      MYSQL_USER: user\n      MYSQL_PASSWORD: password\n    ports:\n      - \"3306:3306\"\n    volumes:\n      - .\/mysql_data:\/var\/lib\/mysql\n    networks:\n      - lamp-network\n\nnetworks:\n  lamp-network:\n    driver: bridge<\/pre>\n\n\n\n<p>Dockerfile<\/p>\n\n\n\n<p>Build php 7.4<br>+ \u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 composer<br>+ \u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 node \/ npm<br>+ \u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 php-mysql extension \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a mysql interface<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">FROM php:7.4-apache\n\n# \u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 System Dependencies\nRUN apt-get update &amp;&amp; apt-get install -y \\\n    zip unzip git curl gnupg\n\n# \u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 Node.js (\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e19\u0e35\u0e49\u0e04\u0e37\u0e2d\u0e40\u0e27\u0e2d\u0e23\u0e4c\u0e0a\u0e31\u0e19 16 \u0e0b\u0e36\u0e48\u0e07\u0e40\u0e2a\u0e16\u0e35\u0e22\u0e23\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e42\u0e1b\u0e23\u0e40\u0e08\u0e01\u0e15\u0e4c\u0e22\u0e38\u0e04 PHP 7.4)\nRUN curl -fsSL https:\/\/deb.nodesource.com\/setup_16.x | bash - \\\n    &amp;&amp; apt-get install -y nodejs\n\n# \u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 PHP Extensions\nRUN docker-php-ext-install mysqli pdo pdo_mysql\n\n# \u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 Composer\nCOPY --from=composer:latest \/usr\/bin\/composer \/usr\/bin\/composer\n\nRUN a2enmod rewrite<\/pre>\n\n\n\n<p>index.php<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\nphpinfo();\n?><\/pre>\n\n\n\n<p>\u0e2a\u0e31\u0e48\u0e07 Rebuild: <code>docker-compose up -d --build<\/code><\/p>\n\n\n\n<p>docker-compose exec php-apache bash<\/p>\n\n\n\n<p>\u0e01\u0e48\u0e2d\u0e19\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 laravel \u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e25\u0e1a\u0e44\u0e1f\u0e25\u0e4c index.php \u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e2b\u0e49\u0e2d\u0e07\u0e27\u0e48\u0e32\u0e07\u0e40\u0e1b\u0e25\u0e48\u0e32\u0e01\u0e48\u0e2d\u0e19<\/p>\n\n\n\n<p>composer create-project &#8211;prefer-dist laravel\/laravel:^8.0  .<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"726\" height=\"128\" src=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/02\/image-1.png\" alt=\"\" class=\"wp-image-486\" srcset=\"https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/02\/image-1.png 726w, https:\/\/iotnoob.com\/wordpress\/wp-content\/uploads\/2026\/02\/image-1-300x53.png 300w\" sizes=\"auto, (max-width: 726px) 100vw, 726px\" \/><\/figure>\n\n\n\n<p>docker-compose exec php-apache npm install <br>docker-compose exec php-apache npm run dev<\/p>\n\n\n\n<p>\u0e01\u0e23\u0e13\u0e35\u0e17\u0e35\u0e48\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e40\u0e2a\u0e23\u0e47\u0e08 \u0e15\u0e49\u0e2d\u0e07 set permission \u0e14\u0e49\u0e27\u0e22 \u0e44\u0e21\u0e48\u0e07\u0e31\u0e49\u0e19\u0e21\u0e31\u0e19\u0e08\u0e30 error \u0e27\u0e48\u0e32\u0e40\u0e02\u0e35\u0e22\u0e19 logs \u0e43\u0e19\u0e2b\u0e49\u0e2d\u0e07 storage \u0e44\u0e21\u0e48\u0e44\u0e14\u0e49<\/p>\n\n\n\n<p>chown -R www-data:www-data storage bootstrap\/cache<\/p>\n\n\n\n<p>\u0e16\u0e49\u0e32\u0e17\u0e33\u0e04\u0e23\u0e1a\u0e41\u0e25\u0e49\u0e27 \u0e40\u0e1b\u0e34\u0e14\u0e44\u0e1b\u0e17\u0e35\u0e48 http:\/\/localhost:8080\/public\/index.php \u0e01\u0e47\u0e19\u0e48\u0e32\u0e08\u0e30\u0e40\u0e08\u0e2d\u0e2b\u0e19\u0e49\u0e32\u0e41\u0e23\u0e01\u0e02\u0e2d\u0e07 laravel \u0e40\u0e25\u0e22<\/p>\n\n\n\n<p>\u0e16\u0e49\u0e32\u0e44\u0e21\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e2a\u0e48 \/public\/ \u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e27\u0e48\u0e32\u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e44\u0e1b\u0e40\u0e0b\u0e47\u0e15 DocumentRoot \u0e44\u0e1b\u0e17\u0e35\u0e48 public \u0e40\u0e25\u0e22 &#8211; \u0e41\u0e15\u0e48 \u0e13 \u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e17\u0e33<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e17\u0e14\u0e25\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Application version \u0e40\u0e01\u0e48\u0e32\u0e46\u0e1a\u0e49\u0e32\u0e07 \u0e01\u0e32\u0e23\u0e08\u0e30\u0e43\u0e0a\u0e49 version \u0e40\u0e01\u0e48\u0e32\u0e46\u0e01\u0e47\u0e15\u0e49\u0e2d\u0e07\u0e15\u0e34\u0e14 php \u0e23\u0e38\u0e48\u0e19\u0e40\u0e01\u0e48\u0e32\u0e46\u0e14\u0e49\u0e27\u0e22 &#8211; \u0e43\u0e19\u0e17\u0e32\u0e07\u0e01\u0e25\u0e31\u0e1a\u0e01\u0e31\u0e19\u0e16\u0e49\u0e32\u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e25\u0e07 laravel \u0e43\u0e2b\u0e21\u0e48\u0e46 \u0e01\u0e47\u0e15\u0e49\u0e2d\u0e07\u0e1b\u0e23\u0e31\u0e1a\u0e40\u0e1b\u0e47\u0e19 php&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-484","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/iotnoob.com\/wordpress\/wp-json\/wp\/v2\/posts\/484","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/iotnoob.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/iotnoob.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/iotnoob.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/iotnoob.com\/wordpress\/wp-json\/wp\/v2\/comments?post=484"}],"version-history":[{"count":2,"href":"https:\/\/iotnoob.com\/wordpress\/wp-json\/wp\/v2\/posts\/484\/revisions"}],"predecessor-version":[{"id":489,"href":"https:\/\/iotnoob.com\/wordpress\/wp-json\/wp\/v2\/posts\/484\/revisions\/489"}],"wp:attachment":[{"href":"https:\/\/iotnoob.com\/wordpress\/wp-json\/wp\/v2\/media?parent=484"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/iotnoob.com\/wordpress\/wp-json\/wp\/v2\/categories?post=484"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/iotnoob.com\/wordpress\/wp-json\/wp\/v2\/tags?post=484"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}