About Expertise Work Managed Apps
Business Website Online Store Sales CRM Team Drive Online Academy Newsletter System Booking System Shared Inbox Knowledge Base Short Links Business Manager Photo Gallery Survey Platform Community Forum Project Boards Estate Agency Car Workshop Restaurant Clinic Photography Studio
AWS
Assess & advise Build & migrate Automate & operate Secure & comply Urgent & go-live
Projects
Hosted Monitoring & Dashboards Self-Hosted Observability Stack Bulk Document Data Extraction Email Deliverability Diagnosis & Repair SEO Migration Recovery AWS Security Review VPS Hardening & ModSecurity Cloud Architecture & Resilience Review SSL & Server Configuration Container Security Review DNS & Email Troubleshooting DevOps Deployment & Rollback Review WordPress Hardening Retainer Data Pipeline Rerun Review Metric Reconciliation
Free Tools
Website Health Check Email Domain Health Check DNS Health Check SSL Certificate Checker Redirect Chain Checker Robots.txt Checker XML Sitemap Validator Docker Compose Checker WordPress Security Check AWS IAM / S3 Policy Checker Domain Registration Lookup Uptime Monitoring Trial Downtime Cost Calculator AWS Cost Estimator Cloud Architecture Self-Assessment DevOps Engagement Builder Self-Managed VPS vs Managed AWS
Blog Certifications Hire Me

Docker Application Deployment on AWS

Your containers running on AWS with secrets out of the environment and logs off the disk.

Price and scope

From $459

Typically $459–$1,099, fixed in writing before anything starts.

2–5 days
Working days, counted from the moment I have access — not from the day you agree.

What moves it up

  • An application not yet containerised, so the Dockerfile is part of the work
  • More than one service, where they have to find each other and start in order
  • A build that currently happens on somebody's laptop

Some of this you can check yourself, right now, for free: Docker Compose Checker →

A development compose file running in productionA laptop running docker compose up against a single EC2 instance holding three containers. Four inherited problems are marked: secrets passed as environment variables, no restart policy, unrotated container logs filling the disk, and database data stored inside the container.laptopdocker compose upONE EC2 INSTANCEwebworkerdatabasedata inside itsecrets in environmentno restart policyjson logs, never rotatedthe disk fills, and everything stops at once
Docker Application Deployment on AWS

What actually goes wrong

The compose file works on the laptop, so it gets copied to an EC2 instance and started, and that is the deployment. What it inherits is every assumption a development environment is allowed to make: secrets passed as environment variables and visible to anyone who can run docker inspect, no restart policy so a crashed container stays down until somebody notices, and json-file logging with no rotation, quietly filling the root volume until the disk is full and everything stops at once.

How I find it

  • docker inspect <container> — read the Env array, and see what is sitting in it
  • docker compose config, to see what the file actually resolves to rather than what it looks like
  • df -h and du -sh /var/lib/docker/containers — how much of the disk the logs have taken
  • aws ecr describe-repositories — whether images are built somewhere repeatable or on a laptop

What you get

  • Images built reproducibly and pushed to ECR, tagged so a deploy names a version rather than "latest"
  • Secrets in Secrets Manager or Parameter Store, injected at runtime and absent from the image
  • Restart policies and health checks, so a crashed container comes back without a human
  • Logs shipped to CloudWatch with retention set, off the instance disk
  • A documented deploy and rollback, runnable by somebody who did not build it

Questions

Should I be on ECS instead of Docker on an EC2 instance?

If you have one service and a small team, an EC2 instance running compose is honest and cheap and I will happily leave you on it. ECS earns its complexity when you need rolling deploys without downtime, or more than one instance. I will tell you which you are, not sell you the more expensive answer by default.

My app is not containerised yet. Is that included?

It is, at the upper end of the range — writing a production Dockerfile is real work and it is where most of the variation in this price comes from. A multi-stage build, a non-root user and a genuinely small final image are part of it, not extras.

What happens to my data when a container is replaced?

Nothing, provided it was never inside the container to begin with — which is the thing this work checks first. Anything stateful moves to a volume, RDS or S3 before the deploy process starts replacing containers, because that is the point at which the shortcut becomes data loss.

Can you keep using docker compose rather than moving to something else?

Yes. Compose in production is a defensible choice for a single-host workload, and swapping it for an orchestrator you did not ask for is how a straightforward deployment turns into a platform migration. The problems above are all fixable without leaving it.

Want this done?

Tell me what you are running and I will come back with a fixed price and a date. If it turns out you do not need this, I will say that instead.

Prefer to talk? Book a free call ↗  ·  Or hire me on Upwork ↗  ·  Typical reply within one business day.

When I answer

Sunday to Thursday, 09:00–18:00 EET. Outside that I will still look, but I will not promise a time.

No 24/7 desk, and I will not pretend otherwise

One person, one time zone. If round-the-clock cover is what you need, you need a team, and I will say so rather than sell you a plan that cannot deliver it.

Your AWS bill stays yours

You pay Amazon directly and you keep control of the account. Nothing here resells your infrastructure or sits between you and your own billing.

A price that starts with "from" is a starting price

Every service page lists exactly what pushes a quote above it, before you ask. You get a fixed number in writing before any work begins.