{"id":209969,"date":"2021-03-24T16:00:19","date_gmt":"2021-03-24T13:00:19","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/how-to-deploy-your-own-container-to-digitaloceans-app-platform-cloudsavvy-it\/"},"modified":"2021-03-24T16:00:19","modified_gmt":"2021-03-24T13:00:19","slug":"how-to-deploy-your-own-container-to-digitaloceans-app-platform-cloudsavvy-it","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/how-to-deploy-your-own-container-to-digitaloceans-app-platform-cloudsavvy-it\/","title":{"rendered":"#How to Deploy Your Own Container to DigitalOcean\u2019s App Platform \u2013 CloudSavvy IT"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a2d19e08d387\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #dd3333;color:#dd3333\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #dd3333;color:#dd3333\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a2d19e08d387\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-deploy-your-own-container-to-digitaloceans-app-platform-cloudsavvy-it\/#Setup_Your_Container_Registry\" >Setup Your Container Registry<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-deploy-your-own-container-to-digitaloceans-app-platform-cloudsavvy-it\/#%E2%80%9CDocker_Login%E2%80%9D_to_Your_Registry\" >\u201cDocker Login\u201d to Your Registry<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-deploy-your-own-container-to-digitaloceans-app-platform-cloudsavvy-it\/#Create_and_Build_Your_Image\" >Create and Build Your Image<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-deploy-your-own-container-to-digitaloceans-app-platform-cloudsavvy-it\/#Deploying_With_App_Platform\" >Deploying With App Platform<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-deploy-your-own-container-to-digitaloceans-app-platform-cloudsavvy-it\/#Updating_Your_Deployment\" >Updating Your Deployment<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-deploy-your-own-container-to-digitaloceans-app-platform-cloudsavvy-it\/#Managing_Your_App\" >Managing Your App<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-deploy-your-own-container-to-digitaloceans-app-platform-cloudsavvy-it\/#Summary\" >Summary<\/a><\/li><\/ul><\/nav><\/div>\n<p><strong>&#8220;#How to Deploy Your Own Container to DigitalOcean\u2019s <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/download-scripts-themes-apps\/\" data-internallinksmanager029f6b8e52c=\"9\" title=\"Download Scripts &amp; Themes &amp; Apps\" target=\"_blank\" rel=\"noopener\">App<\/a> Platform \u2013 CloudSavvy IT&#8221;<\/strong><\/p>\n<div id=\"article-content-area\">\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8934\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/d5c2fece844d4f63b2b725cd788a8ac9\/p\/uploads\/2021\/01\/83680385.jpeg\" alt=\"DigitalOcean logo\" width=\"1600\" height=\"900\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>App Platform is a new DigitalOcean service which offers fully managed app deployment from source control or a container image. Here\u2019s how you can get a container live in the cloud using an image in your DigitalOcean Container Registry.<\/p>\n<h2 id=\"setup-your-container-registry\"><span class=\"ez-toc-section\" id=\"Setup_Your_Container_Registry\"><\/span>Setup Your Container Registry<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>You\u2019ll first need to create your container registry. Login to your DigitalOcean control panel and click the \u201cContainer Registry\u201d link from the left sidebar.<\/p>\n<p>Give your new registry a name. Names need to be between 3 and 63 characters long, using only letters, numbers and dashes.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-10132\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/df232742f2fc82be4c8dc33791f4dc6e\/p\/uploads\/2021\/03\/f3ccdd27.jpg\" alt=\"\" width=\"1002\" height=\"732\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Three Container Registry subscription plans are available: Free, Basic and Professional. The Free tier gives you a single repository and 500MB of storage.<\/p>\n<p>Select a tier and click the \u201cCreate Registry\u201d button to provision your registry. This may take a few seconds.<\/p>\n<h2 id=\"docker-login-to-your-registry\"><span class=\"ez-toc-section\" id=\"%E2%80%9CDocker_Login%E2%80%9D_to_Your_Registry\"><\/span>\u201cDocker Login\u201d to Your Registry<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>You\u2019ll be taken to your registry\u2019s management page once provisioning is complete. Click the grey \u201cActions\u201d button in the top-right. Select \u201cDownload Docker Credentials\u201d from the menu.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-10133\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/f3c5ac8e527baaa18aa2c4c815a5b05b\/p\/uploads\/2021\/03\/156005c5.jpg\" alt=\"\" width=\"1042\" height=\"198\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Change the \u201cCredential permissions\u201d radio buttons to \u201cRead &amp; Write\u201d. This will allow you to push new images into your registry. Click the blue \u201cDownload Config\u201d button to acquire a new configuration file for use with Docker.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-10134\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/6fed9737eb25207359e7d09bb4613381\/p\/uploads\/2021\/03\/799bad5a.jpg\" alt=\"\" width=\"402\" height=\"463\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>You\u2019re now ready to interact with your registry using the Docker CLI on your system. Rename the downloaded configuration file to <code>config.json<\/code> and move it into a new directory. When using Docker, pass the <code>--config<\/code> flag with the path to this directory. The Docker client will load the <code>config.json<\/code> within, so Docker will be able to authenticate to your registry.<\/p>\n<pre><code>mkdir ~\/do-config &amp;&amp; mv docker-config.json ~\/do-config\/config.json&#13;\ndocker --config ~\/do-config pull my-image:latest<\/code><\/pre>\n<p>There are other ways of getting Docker connected to your registry, including via DigitalOcean\u2019s <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/github.com\/digitalocean\/doctl\">Doctl<\/a> command-line tool. We\u2019re using the simplest approach here to stay focused on App Platform, rather than the nuances of Docker and Container Registry.<\/p>\n<h2 id=\"create-and-build-your-image\"><span class=\"ez-toc-section\" id=\"Create_and_Build_Your_Image\"><\/span>Create and Build Your Image<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>With your Container Registry setup, it\u2019s time to push your Docker image! Once your image is in your registry, App Platform will be able to retrieve and deploy it.<\/p>\n<p>For the sake of this tutorial, we\u2019ll reuse the default Apache 2 image \u2013 <code>httpd:latest<\/code> on Docker Hub. Pull the image to your machine, then push it back to your DigitalOcean Container Registry.<\/p>\n<pre><code># pull from Docker Hub&#13;\ndocker pull httpd:latest&#13;\n&#13;\n# tag the image with a path in your Container Registry&#13;\ndocker tag httpd:latest registry.digitalocean.com\/my-registry\/httpd:latest&#13;\n&#13;\n# push to your Container Registry&#13;\ndocker --config ~\/do-config push registry.digitalocean.com\/my-registry\/httpd:latest<\/code><\/pre>\n<p>Remember to specify the correct authentication configuration file when pushing to your DigitalOcean registry. You\u2019ll also need to modify the paths shown to match your own Container Registry\u2019s name. This is the value you chose on the creation screen. It\u2019s displayed on the registry\u2019s page in the Control Panel.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-10135\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/04ae48b05a7564ed98540d823be56950\/p\/uploads\/2021\/03\/d0096ec6.jpg\" alt=\"\" width=\"1008\" height=\"356\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>You should see your image show up in the Container Registry web interface once the push completes. You\u2019re now ready to deploy it using App Platform.<\/p>\n<h2 id=\"deploying-with-app-platform\"><span class=\"ez-toc-section\" id=\"Deploying_With_App_Platform\"><\/span>Deploying With App Platform<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Switch to App Platform by clicking the \u201cApps\u201d link at the top of the \u201cManage\u201d section of the left sidebar. Click the blue \u201cLaunch Your App\u201d button to continue.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-10136\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/746bb366dbf4b11210b1b6202e7d1e39\/p\/uploads\/2021\/03\/b2315bfe.jpg\" alt=\"5creenshot of DigitalOcean App Platform\" width=\"1268\" height=\"658\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Choose \u201cDigitalOcean Container Registry\u201d as the repository source.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-10137\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/f10d7b2f0d95117d6a5f519f675caef3\/p\/uploads\/2021\/03\/18e29998.jpg\" alt=\"5creenshot of creating a deployment in DigitalOcean App Platform\" width=\"615\" height=\"399\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><br \/>On the next screen, select your image from the \u201cRepository\u201d dropdown. You can change the tag to deploy using the \u201cTag\u201d dropdown. Click the \u201cNext\u201d button to continue. You can now configure your container and how it\u2019s exposed.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-10138\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/310510aeae66d1f09f05a5cbc16dadfe\/p\/uploads\/2021\/03\/fe5df232.jpg\" alt=\"\" width=\"678\" height=\"440\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>\u201cHTTP Routes\u201d let you change the URL base (e.g.\u00a0to <code>my-domain.com\/my-example-base<\/code>). Set up key-value environment variable pairs using the \u201cEnvironment Variables\u201d section. The \u201cRun Command\u201d option allows you override the command that will be run in the container. For our simple Apache container, all of these should be left as defaults.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-10139\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/6525a58e58c72084bcbf467890a2a39d\/p\/uploads\/2021\/03\/8cda81fc.jpg\" alt=\"\" width=\"640\" height=\"693\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>The \u201cHTTP Port\u201d section defines the port your container listens on. Apache uses port 80 by default so this value must be updated. Click the \u201cEdit\u201d link and change the port to 80.<\/p>\n<p>Click the \u201cNext\u201d button to continue. Give your app a name and select the DigitalOcean datacentre region to serve it from. At the time of writing, only a subset of the DigitalOcean datacentres support App Platform. Try to choose the one closest to you and to your users.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-10140\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/772bc5bd475e7e4a396d341e3180c138\/p\/uploads\/2021\/03\/d9d35de7.jpg\" alt=\"5creenshot of creating a deployment in DigitalOcean App Platform\" width=\"532\" height=\"458\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Finally, select the App Platform plan to subscribe to. Container Images aren\u2019t supported on the free Starter plan. Select the \u201cBasic\u201d or \u201cPro\u201d tier and then choose the hardware size to deploy. For our simple Apache image, the Basic tier with a single $5\/mo 512MB container instance is adequate.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-10141\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/23a63d4d0a6e9c70279ea95c07499db3\/p\/uploads\/2021\/03\/ae566253.jpg\" alt=\"\" width=\"1175\" height=\"725\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Click \u201cLaunch Basic App\u201d to begin your deployment. You\u2019ll be taken to your app\u2019s dashboard where you can monitor the provisioning process. This may take a few minutes to complete. Once the deployment\u2019s finished, you\u2019ll see your app\u2019s live URL. Click the link to view your deployed container!<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-10144\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/21fb986969f46f639bd5acd4e10889a6\/p\/uploads\/2021\/03\/9414a8f5.jpg\" alt=\"\" width=\"456\" height=\"125\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<h2 id=\"updating-your-deployment\"><span class=\"ez-toc-section\" id=\"Updating_Your_Deployment\"><\/span>Updating Your Deployment<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Your deployment will be updated automatically when the source image tag changes. Push a new image version to your Container Registry to trigger a rebuild of your app. A few minutes later, the new deploymment will show up.<\/p>\n<p>DigitalOcean <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.digitalocean.com\/docs\/app-platform\/how-to\/deploy-from-registry\">cautions that image caching<\/a> might mean new deployments don\u2019t always occur if you have\u2019t changed the actual tag name. It advises using unique tag names for each image update to help mitigate this risk.<\/p>\n<h2 id=\"managing-your-app\"><span class=\"ez-toc-section\" id=\"Managing_Your_App\"><\/span>Managing Your App<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>You can manage your app from its App Platform page. You can see metrics on resource usage (\u201cInsights\u201d), a log of recent deployments (\u201cDeployments\u201d) and realtime logs from within the container (\u201cLogs\u201d). The \u201cConsole\u201d tab gives you a shell session within your container.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-10143\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/e93575f764acaefe1ae62b48a5da0a5a\/p\/uploads\/2021\/03\/8df7b73a.jpg\" alt=\"\" width=\"948\" height=\"478\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>You can make changes to your deployment configuration using the \u201cSettings\u201d tab. Here you\u2019ll find options for adding a domain name and reconfiguring environment variables.<\/p>\n<p>More settings are found on the \u201cComponents\u201d tab. This lets you modify the container configuration, including the container registry source (image and tag) and HTTP routes and port.<\/p>\n<p>Environment variables set on this screen are specific to the container component; those defined on the \u201cSettings\u201d screen apply to all components in your app. A single App Platform app can have multiple components, such as a container and a database connection.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-10145\" src=\"https:\/\/www.cloudsavvyit.com\/thumbcache\/0\/0\/790f14746516b8e70bf4d2aa2acf6122\/p\/uploads\/2021\/03\/edab7ba7.jpg\" alt=\"\" width=\"756\" height=\"585\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>To delete your app, use the red \u201cDestroy\u201d button at the bottom of the Settings screen. Individual components can be removed from the \u201cComponents\u201d tab. To delete your container image, return to the Container Registry interface, click the three dots to the right of your image name and click \u201cDelete\u201d.<\/p>\n<h2 id=\"summary\"><span class=\"ez-toc-section\" id=\"Summary\"><\/span>Summary<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>DigitalOcean\u2019s App Platform and Container Registry provide a straightforward way to get containerised workloads deployed in the cloud. You don\u2019t need to install Docker or setup any reverse proxies to manually route traffic.<\/p>\n<p>These qualities mean App Platform is ideal when you\u2019re deploying a simple workload. Containerised static sites are particularly well suited to this style of deployment. App Platform also supports stateful containers with persistent storage and <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.digitalocean.com\/docs\/app-platform\/how-to\/manage-databases\">Managed Database connections<\/a>, so you could also use it to run your backend containers.\n<\/div>\n<blockquote><p><strong><span style=\"color: #ff6600;\">If you liked the article, do not forget to share it with your friends. Follow us on\u00a0<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/news.google.com\/publications\/CAAqBwgKMLG0nwswvr63Aw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google News<\/a><\/span>\u00a0too, click on the star and choose us from your favorites.<\/span><\/strong><\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\">For forums sites go to <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/forum.buradabiliyorum.com\/\" target=\"_blank\" rel=\"noopener\">Forum.BuradaBiliyorum.Com<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/en.buradabiliyorum.com\/technology\/\" target=\"_blank\" rel=\"noopener\">Technology category.<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/www.cloudsavvyit.com\/10146\/how-to-deploy-your-own-container-to-digitaloceans-app-platform\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;#How to Deploy Your Own Container to DigitalOcean\u2019s App Platform \u2013 CloudSavvy IT&#8221; App Platform is a new DigitalOcean service which offers fully managed app deployment from source control or a container image. Here\u2019s how you can get a container live in the cloud using an image in your DigitalOcean Container Registry. Setup Your Container&#8230;<\/p>\n","protected":false},"author":1,"featured_media":209970,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/01\/83680385.jpeg","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-209969","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/209969","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=209969"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/209969\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/209970"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=209969"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=209969"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=209969"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}