{"id":342680,"date":"2022-07-07T07:07:59","date_gmt":"2022-07-07T07:07:59","guid":{"rendered":"https:\/\/webkul.com\/blog\/?p=342680"},"modified":"2022-07-07T08:38:19","modified_gmt":"2022-07-07T08:38:19","slug":"running-prestashop-in-docker-from-scratch-dockerfile-method","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/","title":{"rendered":"Running PrestaShop in docker from scratch (Dockerfile method)"},"content":{"rendered":"\n<p>In our last blog, we talked about <a href=\"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-container\/\" target=\"_blank\" rel=\"noreferrer noopener\">Running PrestaShop in Docker Container<\/a> using official PrestaShop image from docker hub. Here we will explain how you can create your own PrestaShop docker image from scratch.<\/p>\n\n\n\n<p>There are a number of benefits in custom PrestaShop image, for instance:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>There is no need for a separate database container.<\/li><li>There is no need for a docker network.<\/li><li>The PrestaShop installation is done by the image author, so he has access to modify\/customise anything.<\/li><\/ul>\n\n\n\n<p>We will use Dockerfile to manage almost all steps automatically so let&#8217;s start by preparing folder for Dockerfile:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1 : Prepare folder for docker image<\/h2>\n\n\n\n<p>First of all, create an empty folder &#8220;prestashop&#8221; and create a Dockerfile inside this folder. Then download PrestaShop from <a href=\"https:\/\/www.prestashop.com\/en\/versions\" target=\"_blank\" rel=\"noreferrer noopener\">official website<\/a> and extract all files inside <em>prestashop<\/em> folder.<\/p>\n\n\n\n<p>The folder structure should look like this:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"664\" height=\"407\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/07\/image-27.png\" alt=\"image-27\" class=\"wp-image-342879\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/07\/image-27.png 664w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/07\/image-27-300x184.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/07\/image-27-250x153.png 250w\" sizes=\"(max-width: 664px) 100vw, 664px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2 : Prepare Dockerfile<\/h2>\n\n\n\n<p>Edit and put this content in Dockerfile:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">FROM php:7.4-apache\nWORKDIR \/var\/www\/html\n# update packages\nRUN apt-get update\n# install zip and pdo extensions\nRUN apt-get install -y \\\n        libzip-dev \\\n        zip \\\n    &amp;&amp; docker-php-ext-configure zip \\\n    &amp;&amp; docker-php-ext-install zip \\\n    &amp;&amp; docker-php-ext-install pdo pdo_mysql\n\n# install gd image library\nRUN apt-get install -y \\\n\t\tlibfreetype6-dev \\\n\t\tlibjpeg62-turbo-dev \\\n\t\tlibpng-dev \\\n\t&amp;&amp; docker-php-ext-configure gd --with-freetype --with-jpeg \\\n  &amp;&amp; docker-php-ext-install -j &quot;$(nproc)&quot; gd\n\n# install intl extension\nRUN apt-get install -y zlib1g-dev libicu-dev g++ \\\n&amp;&amp; docker-php-ext-configure intl \\\n&amp;&amp; docker-php-ext-install intl\n\n# enable mod_rewrite\nRUN a2enmod rewrite\n\n# install opcache for php acceleration\nRUN docker-php-ext-install opcache \\\n    &amp;&amp; docker-php-ext-enable opcache \\\n    &amp;&amp; rm -rf \/var\/lib\/apt\/lists\/* \\\n    &amp;&amp; apt-get autoremove -y\n\n# install database\nRUN apt-get update\nRUN apt-get install -y mariadb-server\n\n# create user-psuser password-admin and assign privileges\nRUN service mariadb start &amp;&amp; mysql -uroot mysql -e &quot;CREATE USER &#039;psuser&#039;@localhost IDENTIFIED BY &#039;admin&#039;;GRANT ALL PRIVILEGES ON *.* TO &#039;psuser&#039;@localhost IDENTIFIED BY &#039;admin&#039;;FLUSH PRIVILEGES;&quot;\n\n# copy prestashop folder content\nCOPY prestashop\/ \/var\/www\/html\n# Change owner and permissions\n# RUN chown -R www-data:www-data \/var\/www\/html\/var\/logs\nRUN chmod -R 0777 \/var\/www\/html\/var\/logs \\\n\/var\/www\/html\/var\/cache \\\n\/var\/www\/html\/config \\\n\/var\/www\/html\/img \\\n\/var\/www\/html\/mails \\\n\/var\/www\/html\/modules \\\n\/var\/www\/html\/translations \\\n\/var\/www\/html\/upload \\\n\/var\/www\/html\/download \\\n\/var\/www\/html\/app\/config \\\n\/var\/www\/html\/app\/Resources\/translations \\\n\/var\/www\/html\/img\n\nRUN touch \/usr\/local\/etc\/php\/php.ini &amp;&amp; echo &quot;short_open_tag=FALSE&quot; &gt;&gt; \/usr\/local\/etc\/php\/php.ini\n\nEXPOSE 80<\/pre>\n\n\n\n<p>Let&#8217;s understand each step in this Dockerfile:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>FROM php:7.4-apache<\/strong> &#8211; Using php:7.4-apache.<\/li><li><strong>WORKDIR \/var\/www\/html<\/strong> &#8211; Set document root.<\/li><li><strong>RUN apt-get update<\/strong> &#8211; Update packages list.<\/li><li>All commands starting with &#8220;<em><strong>RUN apt-get install<\/strong><\/em>&#8221; install the necessary extensions for PrestaShop.<\/li><li><strong>RUN a2enmod rewrite<\/strong> &#8211; Enable mod_rewrite.<\/li><li><strong>RUN docker-php-ext-install opcache&#8230;<\/strong> &#8211; install opcache for php acceleration (optional).<\/li><li><strong>RUN service mariadb start &amp;&amp; &#8230; <\/strong>&#8211; Start mysql server and create user with password.<\/li><li><strong>COPY prestashop\/ \/var\/www\/html<\/strong> &#8211; Copy PrestaShop files to html directory of image.<\/li><li><strong>RUN chmod -R 0777 \/var&#8230;<\/strong> &#8211; Assign read\/write permissions to necessary folders in prestashop<\/li><li><strong>RUN touch \/usr\/local\/etc\/php\/php.ini &amp;&amp; &#8230; <\/strong>&#8211; Create php.ini and set short_open_tag=FALSE (Optional)<\/li><li><strong>EXPOSE 80<\/strong> &#8211; Docker container port configuration for TCP connections.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3 : Open terminal and build docker image<\/h2>\n\n\n\n<p>Open terminal in the folder where Dockerfile is located and run this command:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">docker build -t myps:latest .<\/pre>\n\n\n\n<p>The &#8220;myps&#8221; is custom image name, you can use any name for your docker image. After running this command, the commands from Dockerfile will execute and create docker image. It will take sometime to perform all commands so do not interrupt or leave the terminal.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4 : PrestaShop installation<\/h2>\n\n\n\n<p>Now that our image is created, we will install the PrestaShop and commit to docker image so that our image is updated with an installed PrestaShop. Hence, run a container on the created image with this command: <\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">docker run --name mypscontainer -d -p 8910:80 myps:latest &amp;&amp; docker exec -ti mypscontainer service mariadb start<\/pre>\n\n\n\n<p>This command runs a container and starts mysql server inside the container:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>mypscontainer is custom container name, you can use any name here.<\/li><li>myps is our image name created in previous steps.<\/li><li>8910 is port number where we want to run our container.<\/li><\/ul>\n\n\n\n<p>After container starts, go to http:\/\/localhost:8910, the PrestaShop installation page will open. Complete the installation and use these details for database connection:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Host : <\/strong>127.0.0.1<\/li><li><strong>Username : <\/strong>psuser<\/li><li><strong>Password :<\/strong> admin<\/li><\/ul>\n\n\n\n<p>The above user was created while image creation from the Dockerfile.<\/p>\n\n\n\n<p>After the installation is complete, open terminal and run these two commands to remove &#8220;<em>install<\/em>&#8221; folder and rename &#8220;<em>admin<\/em>&#8221; folder (this step is required for PrestaShop):<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">docker exec -ti mypscontainer rm -rf \/var\/www\/html\/install\ndocker exec -ti mypscontainer mv \/var\/www\/html\/admin \/var\/www\/html\/adminps<\/pre>\n\n\n\n<p>The mypscontainer is the container name, so use your container name or id in its place.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 5 : Commit this installed PrestaShop container to image<\/h2>\n\n\n\n<p>Now, our PrestaShop is installed in the container so we will commit this to our image so that whenever we start container, we will get this installed PrestaShop. Run this command in terminal to commit the container:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">docker commit mypscontainer myps:latest<\/pre>\n\n\n\n<p>The mypscontainer is container name, myps is image name and latest is the image tag. You can use your corresponding values here.<\/p>\n\n\n\n<p>Now always use this command to run container and start database server together:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">docker run --name mypscontainer -d -p 8910:80 myps:latest &amp;&amp; docker exec -ti mypscontainer service mariadb start<\/pre>\n\n\n\n<p>That&#8217;s all about running PrestaShop in docker from scratch. If any issue or doubt in the above process, please feel free to let us know in the comment section. <\/p>\n\n\n\n<p>I would be happy to help.<\/p>\n\n\n\n<p>Also, you can explore our <a href=\"https:\/\/webkul.com\/prestashop-development\/\">PrestaShop Development Services<\/a>  and a large range of quality <a href=\"https:\/\/store.webkul.com\/PrestaShop-Extensions.html\">PrestaShop Modules<\/a>.<\/p>\n\n\n\n<p>For any doubt contact us at <a href=\"mailto:support@webkul.com\">support@webkul.com<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In our last blog, we talked about Running PrestaShop in Docker Container using official PrestaShop image from docker hub. Here we will explain how you can create your own PrestaShop docker image from scratch. There are a number of benefits in custom PrestaShop image, for instance: There is no need for a separate database container. <a href=\"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":264,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[209,1],"tags":[2209,12895,584,2065,590],"class_list":["post-342680","post","type-post","status-publish","format-standard","hentry","category-prestashop","category-uncategorized","tag-docker","tag-dockerfile","tag-image","tag-prestashop","tag-webkul"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Running PrestaShop in docker from scratch (Dockerfile method) - Webkul Blog<\/title>\n<meta name=\"description\" content=\"A detailed step by step guide for running PrestaShop in docker from scratch by building image and configuring with help of Dockerfile.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Running PrestaShop in docker from scratch (Dockerfile method) - Webkul Blog\" \/>\n<meta property=\"og:description\" content=\"A detailed step by step guide for running PrestaShop in docker from scratch by building image and configuring with help of Dockerfile.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/\" \/>\n<meta property=\"og:site_name\" content=\"Webkul Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webkul\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-07T07:07:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-07T08:38:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2022\/07\/image-27.png\" \/>\n<meta name=\"author\" content=\"Ram Chandra\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webkul\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ram Chandra\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/\"},\"author\":{\"name\":\"Ram Chandra\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/abcd2edf640c51cd905386b99118ad71\"},\"headline\":\"Running PrestaShop in docker from scratch (Dockerfile method)\",\"datePublished\":\"2022-07-07T07:07:59+00:00\",\"dateModified\":\"2022-07-07T08:38:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/\"},\"wordCount\":658,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2022\/07\/image-27.png\",\"keywords\":[\"docker\",\"dockerfile\",\"image\",\"prestashop\",\"webkul\"],\"articleSection\":[\"prestashop\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/\",\"url\":\"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/\",\"name\":\"Running PrestaShop in docker from scratch (Dockerfile method) - Webkul Blog\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2022\/07\/image-27.png\",\"datePublished\":\"2022-07-07T07:07:59+00:00\",\"dateModified\":\"2022-07-07T08:38:19+00:00\",\"description\":\"A detailed step by step guide for running PrestaShop in docker from scratch by building image and configuring with help of Dockerfile.\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/#primaryimage\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/07\/image-27.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/07\/image-27.png\",\"width\":664,\"height\":407,\"caption\":\"image-27\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Running PrestaShop in docker from scratch (Dockerfile method)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webkul.com\/blog\/#website\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"name\":\"Webkul Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webkul.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webkul.com\/blog\/#organization\",\"name\":\"WebKul Software Private Limited\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"width\":380,\"height\":380,\"caption\":\"WebKul Software Private Limited\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webkul\/\",\"https:\/\/x.com\/webkul\",\"https:\/\/www.instagram.com\/webkul\/\",\"https:\/\/www.linkedin.com\/company\/webkul\",\"https:\/\/www.youtube.com\/user\/webkul\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/abcd2edf640c51cd905386b99118ad71\",\"name\":\"Ram Chandra\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a237e2b96f2a8989c930db6c377971a3d52601b0bba3c5e3dc79a88205178d26?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a237e2b96f2a8989c930db6c377971a3d52601b0bba3c5e3dc79a88205178d26?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"caption\":\"Ram Chandra\"},\"url\":\"https:\/\/webkul.com\/blog\/author\/ram-chandra178\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Running PrestaShop in docker from scratch (Dockerfile method) - Webkul Blog","description":"A detailed step by step guide for running PrestaShop in docker from scratch by building image and configuring with help of Dockerfile.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/","og_locale":"en_US","og_type":"article","og_title":"Running PrestaShop in docker from scratch (Dockerfile method) - Webkul Blog","og_description":"A detailed step by step guide for running PrestaShop in docker from scratch by building image and configuring with help of Dockerfile.","og_url":"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2022-07-07T07:07:59+00:00","article_modified_time":"2022-07-07T08:38:19+00:00","og_image":[{"url":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2022\/07\/image-27.png","type":"","width":"","height":""}],"author":"Ram Chandra","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"Ram Chandra","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/"},"author":{"name":"Ram Chandra","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/abcd2edf640c51cd905386b99118ad71"},"headline":"Running PrestaShop in docker from scratch (Dockerfile method)","datePublished":"2022-07-07T07:07:59+00:00","dateModified":"2022-07-07T08:38:19+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/"},"wordCount":658,"commentCount":0,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2022\/07\/image-27.png","keywords":["docker","dockerfile","image","prestashop","webkul"],"articleSection":["prestashop"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/","url":"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/","name":"Running PrestaShop in docker from scratch (Dockerfile method) - Webkul Blog","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2022\/07\/image-27.png","datePublished":"2022-07-07T07:07:59+00:00","dateModified":"2022-07-07T08:38:19+00:00","description":"A detailed step by step guide for running PrestaShop in docker from scratch by building image and configuring with help of Dockerfile.","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/#primaryimage","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/07\/image-27.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/07\/image-27.png","width":664,"height":407,"caption":"image-27"},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/running-prestashop-in-docker-from-scratch-dockerfile-method\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Running PrestaShop in docker from scratch (Dockerfile method)"}]},{"@type":"WebSite","@id":"https:\/\/webkul.com\/blog\/#website","url":"https:\/\/webkul.com\/blog\/","name":"Webkul Blog","description":"","publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webkul.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webkul.com\/blog\/#organization","name":"WebKul Software Private Limited","url":"https:\/\/webkul.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","width":380,"height":380,"caption":"WebKul Software Private Limited"},"image":{"@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webkul\/","https:\/\/x.com\/webkul","https:\/\/www.instagram.com\/webkul\/","https:\/\/www.linkedin.com\/company\/webkul","https:\/\/www.youtube.com\/user\/webkul\/"]},{"@type":"Person","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/abcd2edf640c51cd905386b99118ad71","name":"Ram Chandra","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a237e2b96f2a8989c930db6c377971a3d52601b0bba3c5e3dc79a88205178d26?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a237e2b96f2a8989c930db6c377971a3d52601b0bba3c5e3dc79a88205178d26?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","caption":"Ram Chandra"},"url":"https:\/\/webkul.com\/blog\/author\/ram-chandra178\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/342680","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/users\/264"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=342680"}],"version-history":[{"count":7,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/342680\/revisions"}],"predecessor-version":[{"id":342915,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/342680\/revisions\/342915"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=342680"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=342680"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=342680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}