{"id":3086,"date":"2025-01-04T18:22:18","date_gmt":"2024-06-13T23:58:47","guid":{"rendered":""},"modified":"2025-02-02T00:46:19","modified_gmt":"2025-02-01T23:46:19","slug":"how-to-install-laravel-with-docker-on-ubuntu-22-04","status":"publish","type":"post","link":"https:\/\/netcloud24.com\/knowledgebase\/how-to-install-laravel-with-docker-on-ubuntu-22-04\/","title":{"rendered":"Linux VPS &#038; VPS Windows Setup Guide | NetCloud24 Laravel with Docker on Ubuntu 22.04"},"content":{"rendered":"<p>\u00a0<\/p>\n<\/p>\n<header>\n<h1>\u00a0<\/h1>\n<\/header>\n<article>\n<section>\n<h2>Introduction<\/h2>\n<p>Laravel is a popular PHP framework used for developing web applications. Using Docker for installation simplifies the process and ensures that your application runs in a consistent environment. This guide will walk you through installing Laravel with Docker on Ubuntu 22.04, which can be effectively hosted on a <a href=\"https:\/\/ie.netcloud24.com\">Windows VPS <\/a> for optimal performance and scalability.<\/p>\n<\/section>\n<section>\n<h2>Prerequisites<\/h2>\n<ul>\n<li>An Ubuntu 22.04 server with root access<\/li>\n<li>Basic knowledge of Linux commands<\/li>\n<li>Docker and Docker Compose installed on your server<\/li>\n<\/ul>\n<\/section>\n<section>\n<h2>Step 1: Update Your System<\/h2>\n<p>Start by updating your package index and upgrading existing packages:<\/p>\n<pre><code>sudo apt update &amp;&amp; sudo apt upgrade -y<\/code><\/pre>\n<\/section>\n<section>\n<h2>Step 2: Install Docker and Docker Compose<\/h2>\n<p>If you haven\u2019t installed Docker yet, you can install it using the following commands:<\/p>\n<pre><code>sudo apt install apt-transport-https ca-certificates curl software-properties-common -y\r\ncurl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo apt-key add -\r\necho \"deb [arch=amd64] https:\/\/download.docker.com\/linux\/ubuntu $(lsb_release -cs) stable\" | sudo tee \/etc\/apt\/sources.list.d\/docker.list\r\nsudo apt update\r\nsudo apt install docker-ce -y<\/code><\/pre>\n<p>Start Docker and enable it to run on boot:<\/p>\n<pre><code>sudo systemctl start docker\r\nsudo systemctl enable docker<\/code><\/pre>\n<p>To install Docker Compose:<\/p>\n<pre><code>sudo curl -L \"https:\/\/github.com\/docker\/compose\/releases\/latest\/download\/docker-compose-$(uname -s)-$(uname -m)\" -o \/usr\/local\/bin\/docker-compose\r\nsudo chmod +x \/usr\/local\/bin\/docker-compose<\/code><\/pre>\n<p>Verify the installation:<\/p>\n<pre><code>docker-compose --version<\/code><\/pre>\n<\/section>\n<section>\n<h2>Step 3: Create a New Laravel Project<\/h2>\n<p>Create a directory for your Laravel application:<\/p>\n<pre><code>mkdir ~\/laravel-app\r\ncd ~\/laravel-app<\/code><\/pre>\n<p>Next, create a <code>docker-compose.yml<\/code> file in this directory:<\/p>\n<pre><code>nano docker-compose.yml<\/code><\/pre>\n<p>Paste the following configuration into the file:<\/p>\n<pre><code>version: '3.8'\r\n\r\nservices:\r\n  app:\r\n    image: php:8.0-fpm\r\n    container_name: laravel_app\r\n    working_dir: \/var\/www\r\n    volumes:\r\n      - .:\/var\/www\r\n    networks:\r\n      - laravel-network\r\n\r\n  web:\r\n    image: nginx:alpine\r\n    container_name: laravel_web\r\n    ports:\r\n      - \"80:80\"\r\n    volumes:\r\n      - .:\/var\/www\r\n      - .\/nginx.conf:\/etc\/nginx\/conf.d\/default.conf\r\n    depends_on:\r\n      - app\r\n    networks:\r\n      - laravel-network\r\n\r\nnetworks:\r\n  laravel-network:\r\n    driver: bridge<\/code><\/pre>\n<p>Next, create an Nginx configuration file:<\/p>\n<pre><code>nano nginx.conf<\/code><\/pre>\n<p>Add the following configuration:<\/p>\n<pre><code>server {\r\n    listen 80;\r\n    server_name localhost;\r\n\r\n    root \/var\/www\/public;\r\n    index index.php index.html index.htm;\r\n\r\n    location \/ {\r\n        try_files $uri $uri\/ \/index.php?$query_string;\r\n    }\r\n\r\n    location ~ \\.php$ {\r\n        include fastcgi_params;\r\n        fastcgi_pass app:9000;\r\n        fastcgi_index index.php;\r\n        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\r\n    }\r\n\r\n    location ~ \/\\.ht {\r\n        deny all;\r\n    }\r\n}<\/code><\/pre>\n<\/section>\n<section>\n<h2>Step 4: Install Laravel<\/h2>\n<p>Run the following command to start the containers and install Laravel:<\/p>\n<pre><code>docker-compose up -d\r\ndocker-compose exec app curl -s https:\/\/getcomposer.org\/installer | php\r\ndocker-compose exec app php composer.phar create-project --prefer-dist laravel\/laravel .<\/code><\/pre>\n<\/section>\n<section>\n<h2>Step 5: Access Your Laravel Application<\/h2>\n<p>Open your web browser and navigate to <code>http:\/\/your_server_ip<\/code>. You should see the Laravel welcome page, indicating that the installation was successful.<\/p>\n<\/section>\n<section>\n<h2>Step 6: Conclusion<\/h2>\n<p>You have successfully installed Laravel with Docker on Ubuntu 22.04, providing a robust environment for developing web applications. This setup can greatly benefit from being hosted on a . For additional options, explore various  solutions, including <a href=\"https:\/\/ie.netcloud24.com\">Windows VPSVirtual Private Server Hosting<\/a> and <a href=\"https:\/\/ie.netcloud24.com\">Windows VPS Hosting UK<\/a> for optimal performance.<\/p>\n<\/section>\n<\/article>\n<footer>\n<p>\u00a9 2024 Laravel Installation Tutorial. All rights reserved.<\/p>\n<\/footer>\n<div class=\"post-author-box\" style=\"border-top:1px solid #ddd;margin-top:20px;padding-top:15px;\">\n<p><strong>Author:<\/strong> \u0141ukasz Bodziony<\/p>\n<p><strong>Website:<\/strong> <a href=\"https:\/\/ca.netcloud24.com\" target=\"_blank\" rel=\"dofollow\">Windows VPS<\/a><\/p>\n<p><em>\u0141ukasz Bodziony is the CEO and founder of <a href=\"https:\/\/netcloud24.com\" target=\"_blank\" rel=\"dofollow\">NETCLOUD24<\/a>, a global VPS hosting brand proudly originating from Poland. With extensive experience in cloud computing, virtualization, and server management, he delivers high-performance <strong>Windows VPS<\/strong> and <strong>Remote Desktop Services (RDS)<\/strong> solutions to clients across Europe, North America, and beyond.<\/em><\/p>\n<p><em>His expertise covers a wide range of technologies, including <strong>Microsoft Azure<\/strong>, <strong>Proxmox VE<\/strong>, <strong>Amazon Web Services (AWS)<\/strong>, and numerous other virtualization and cloud platforms.<\/em><\/p>\n<p><em>Beyond running his hosting business, \u0141ukasz also provides <strong>professional paid server configuration and optimization services<\/strong> for companies and individuals. Outside of work, he is dedicated to caring for his children and building a secure future for them.<\/em><\/p>\n<p><em>If you are interested in working with him or need expert assistance with your hosting, cloud environment, or server setup, feel free to reach out via <a href=\"https:\/\/ca.netcloud24.com\" target=\"_blank\" rel=\"dofollow\">Windows VPS<\/a>.<\/em><\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0 \u00a0 Introduction Laravel is a popular PHP framework used for developing web applications. Using Docker for installation simplifies the process and ensures that your application runs in\u2026<\/p>\n","protected":false},"author":1,"featured_media":3421,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[],"tags":[14,12,11,23,20,21,22,17,7,8,6,10,18,19,15,24,16,5,13,9],"class_list":["post-3086","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-cheapvps","tag-cloudvps","tag-hostingvps","tag-rds","tag-rdscal","tag-remotedesktop","tag-remotedesktopvps","tag-servervps","tag-ukvps","tag-virtualserver","tag-vpshosting","tag-vpsserver","tag-vpssolutions","tag-vpswindows","tag-vpswithwindows","tag-windowsrds","tag-windowsserver","tag-windowsvps","tag-windowsvpshosting","tag-windowsvpsuk"],"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/3086","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/comments?post=3086"}],"version-history":[{"count":0,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/3086\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/media\/3421"}],"wp:attachment":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/media?parent=3086"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/categories?post=3086"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/tags?post=3086"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}