{"id":4744,"date":"2025-08-23T15:27:27","date_gmt":"2025-08-23T15:27:27","guid":{"rendered":"https:\/\/uplatz.com\/blog\/?p=4744"},"modified":"2025-08-27T02:58:00","modified_gmt":"2025-08-27T02:58:00","slug":"docker-pocket-book","status":"publish","type":"post","link":"https:\/\/uplatz.com\/blog\/docker-pocket-book\/","title":{"rendered":"Docker Pocket Book"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/17-1024x576.png\" alt=\"Docker Pocket Book\" width=\"840\" height=\"473\" class=\"alignnone size-large wp-image-4849\" srcset=\"https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/17-1024x576.png 1024w, https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/17-300x169.png 300w, https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/17-768x432.png 768w, https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/17.png 1280w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><br \/>\n<!-- Docker Pocket Book \u2014 Uplatz (50 Cards, Wide Layout, Readable Code, Scoped Styles) --><\/p>\n<div style=\"margin: 16px 0;\">\n<style>\n    .wp-nodejs-pb { font-family: Arial, sans-serif; max-width: 1320px; margin:0 auto; }\n    .wp-nodejs-pb .heading{\n      background: linear-gradient(135deg, #e0f2fe, #ccfbf1);\n      color:#0f172a; padding:22px 24px; border-radius:14px;\n      text-align:center; margin-bottom:18px; box-shadow:0 8px 20px rgba(0,0,0,.08);\n      border:1px solid #cbd5e1;\n    }\n    .wp-nodejs-pb .heading h2{ margin:0; font-size:2.1rem; letter-spacing:.2px; }\n    .wp-nodejs-pb .heading p{ margin:6px 0 0; font-size:1.02rem; opacity:.9; }<\/p>\n<p>    .wp-nodejs-pb .grid{ display:grid; gap:14px; grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); }\n    @media (min-width:1200px){ .wp-nodejs-pb .grid{ grid-template-columns: repeat(3, 1fr); } }<\/p>\n<p>    .wp-nodejs-pb .section-title{\n      grid-column:1\/-1; background:#f8fafc; border-left:8px solid #0ea5e9;\n      padding:12px 16px; border-radius:10px; font-weight:700; color:#0f172a; font-size:1.08rem;\n      box-shadow:0 2px 8px rgba(0,0,0,.05); border:1px solid #e2e8f0;\n    }\n    .wp-nodejs-pb .card{\n      background:#ffffff; border-left:6px solid #0ea5e9;\n      padding:18px; border-radius:12px;\n      box-shadow:0 6px 14px rgba(0,0,0,.06);\n      transition:transform .12s ease, box-shadow .12s ease;\n      border:1px solid #e5e7eb;\n    }\n    .wp-nodejs-pb .card:hover{ transform: translateY(-3px); box-shadow:0 10px 22px rgba(0,0,0,.08); }\n    .wp-nodejs-pb .card h3{ margin:0 0 10px; font-size:1.12rem; color:#0f172a; }\n    .wp-nodejs-pb .card p{ margin:0; font-size:.96rem; color:#334155; line-height:1.62; }<\/p>\n<p>    .bg-blue { border-left-color:#0ea5e9 !important; background:#f0f9ff !important; }\n    .bg-green{ border-left-color:#10b981 !important; background:#f0fdf4 !important; }\n    .bg-amber{ border-left-color:#f59e0b !important; background:#fffbeb !important; }\n    .bg-violet{ border-left-color:#8b5cf6 !important; background:#f5f3ff !important; }\n    .bg-rose{ border-left-color:#ef4444 !important; background:#fff1f2 !important; }\n    .bg-cyan{ border-left-color:#06b6d4 !important; background:#ecfeff !important; }\n    .bg-lime{ border-left-color:#16a34a !important; background:#f0fdf4 !important; }\n    .bg-orange{ border-left-color:#f97316 !important; background:#fff7ed !important; }\n    .bg-indigo{ border-left-color:#6366f1 !important; background:#eef2ff !important; }\n    .bg-emerald{ border-left-color:#22c55e !important; background:#ecfdf5 !important; }<\/p>\n<p>    .tight ul{ margin:0; padding-left:18px; }\n    .tight li{ margin:4px 0; }\n    .mono{ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }\n    .kbd{ background:#e5e7eb; border:1px solid #cbd5e1; padding:1px 6px; border-radius:6px; font-family:ui-monospace,monospace; font-size:.88em; }\n    .muted{ color:#64748b; }\n    .wp-nodejs-pb code{ background:#f1f5f9; padding:0 4px; border-radius:4px; border:1px solid #e2e8f0; }\n    .wp-nodejs-pb pre{ background:#f5f5f5; color:#111827; border:1px solid #e5e7eb;\n      padding:12px; border-radius:8px; overflow:auto; font-size:.92rem; line-height:1.55; }\n    .q{font-weight:700;}\n    .qa p{ margin:8px 0; }\n    .qa b{ color:#0f172a; }\n  <\/style>\n<div class=\"wp-nodejs-pb\">\n<div class=\"heading\">\n<h2>Docker Pocket Book \u2014 Uplatz<\/h2>\n<p>50 deep-dive flashcards \u2022 Wide layout \u2022 Fewer scrolls \u2022 20+ Interview Q&amp;A \u2022 Readable code examples<\/p>\n<\/p><\/div>\n<div class=\"grid\">\n      <!-- =============== SECTION 1 ================= --><\/p>\n<div class=\"section-title\">Section 1 \u2014 Fundamentals<\/div>\n<div class=\"card bg-blue\">\n<h3>1) What is Docker?<\/h3>\n<p>Docker is a platform for building, shipping, and running applications in containers. Containers package code, runtime, libraries, and dependencies, ensuring consistent execution across environments. Docker uses OS-level virtualization with isolated processes. Sweet spots: microservices, CI\/CD pipelines, reproducible dev setups. Less ideal: persistent-heavy monoliths without orchestration.<\/p>\n<pre><code class=\"mono\"># Verify docker version\r\ndocker -v\r\ndocker info<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-green\">\n<h3>2) Why Docker? Core Strengths &#038; Tradeoffs<\/h3>\n<p>Strengths: portability, reproducibility, faster deployments, isolation, and lightweight vs VMs. Tradeoffs: added complexity, security surface, storage management, networking challenges. Mitigate with orchestration, minimal images, and regular audits.<\/p>\n<pre><code class=\"mono\"># Run hello-world\r\ndocker run hello-world<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-amber\">\n<h3>3) Docker Architecture<\/h3>\n<p>Docker follows client\u2013server architecture. Client CLI \u2192 Docker Daemon (dockerd) \u2192 Containers &#038; Images. Registry (Docker Hub\/Private) stores and distributes images. Daemon exposes REST API for management.<\/p>\n<pre><code class=\"mono\"># Check daemon info\r\nsystemctl status docker<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-violet\">\n<h3>4) Images vs Containers<\/h3>\n<p>Images are read-only blueprints, containers are runtime instances. A container = image + writable layer. Images are layered, built from Dockerfiles. Commit containers for quick snapshots but prefer reproducible builds.<\/p>\n<pre><code class=\"mono\">docker images\r\ndocker ps -a<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-rose\">\n<h3>5) Docker vs VM<\/h3>\n<p>VMs virtualize hardware; containers virtualize OS. Containers are faster and lighter, sharing the host kernel. VMs provide stronger isolation. Use containers for apps\/services; VMs for full OS isolation or legacy workloads.<\/p>\n<pre><code class=\"mono\"># Run Ubuntu container\r\ndocker run -it ubuntu bash<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-cyan\">\n<h3>6) Docker CLI Basics<\/h3>\n<p>Key commands: <code>docker run<\/code>, <code>docker ps<\/code>, <code>docker stop<\/code>, <code>docker rm<\/code>, <code>docker logs<\/code>, <code>docker exec<\/code>. Add <code>-it<\/code> for interactive mode; <code>-d<\/code> for detached.<\/p>\n<pre><code class=\"mono\">docker run -d --name web nginx:latest\r\ndocker logs web<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-lime\">\n<h3>7) Dockerfile Basics<\/h3>\n<p>Dockerfile is declarative: FROM base, RUN commands, COPY files, EXPOSE ports, CMD entrypoint. Layer cache optimizes builds. Keep images small and pinned.<\/p>\n<pre><code class=\"mono\"># Dockerfile\r\nFROM python:3.12-slim\r\nCOPY . \/app\r\nWORKDIR \/app\r\nRUN pip install -r requirements.txt\r\nCMD [\"python\",\"app.py\"]<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-orange\">\n<h3>8) Docker Hub &#038; Registries<\/h3>\n<p>Public registry is Docker Hub. Private registries (Harbor, AWS ECR, GCR) secure enterprise artifacts. Always tag images semantically and avoid :latest in production.<\/p>\n<pre><code class=\"mono\">docker login\r\ndocker push myrepo\/app:1.0.0<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-indigo\">\n<h3>9) Volumes<\/h3>\n<p>Volumes persist data beyond container lifecycle. Types: anonymous, named, bind mounts. Recommended for DBs and config. Avoid storing important data in container writable layer.<\/p>\n<pre><code class=\"mono\">docker volume create app-data\r\ndocker run -v app-data:\/var\/lib\/mysql mysql<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-emerald\">\n<h3>10) Q&amp;A \u2014 \u201cIs Docker replacing VMs?\u201d<\/h3>\n<p><span class=\"q\">Answer:<\/span> Not entirely. Containers complement VMs. Use containers for app packaging and portability; VMs for OS-level isolation or when running multiple OS types. Many enterprises run Docker inside VMs.<\/p>\n<\/p><\/div>\n<p>      <!-- =============== SECTION 2 ================= --><\/p>\n<div class=\"section-title\">Section 2 \u2014 Networking &#038; Services<\/div>\n<div class=\"card bg-blue\">\n<h3>11) Networking Modes<\/h3>\n<p>Docker supports bridge (default), host, none, and custom networks. Bridge provides NAT, host shares host stack, none disables networking. Use custom bridge networks for multi-container apps.<\/p>\n<pre><code class=\"mono\">docker network ls\r\ndocker network create mynet<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-green\">\n<h3>12) Port Mapping<\/h3>\n<p>Expose container ports via <code>-p host:container<\/code>. Ensure firewall rules allow access. Avoid mapping sensitive services directly to internet.<\/p>\n<pre><code class=\"mono\">docker run -p 8080:80 nginx<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-amber\">\n<h3>13) Docker Compose<\/h3>\n<p>Compose orchestrates multi-container apps via YAML. Supports build, networks, volumes, dependencies. Use <code>docker compose up<\/code> for dev\/test. For prod, prefer Swarm or Kubernetes.<\/p>\n<pre><code class=\"mono\"># docker-compose.yml\r\nversion: \"3\"\r\nservices:\r\n  web: { image: nginx, ports: [\"8080:80\"] }\r\n  db: { image: postgres, volumes: [\"dbdata:\/var\/lib\/postgresql\/data\"] }<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-violet\">\n<h3>14) Service Discovery<\/h3>\n<p>Containers in same custom network resolve each other by service name. DNS-based resolution is automatic. For cross-host networking, use orchestration or overlay networks.<\/p>\n<pre><code class=\"mono\">docker run --network=mynet --name=web nginx<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-rose\">\n<h3>15) Environment Variables<\/h3>\n<p>Pass envs at runtime with <code>-e<\/code> or <code>--env-file<\/code>. Best for secrets\/config, but use managers (Vault, AWS SM) for prod.<\/p>\n<pre><code class=\"mono\">docker run -e DB_HOST=db -e DB_PASS=secret myapp<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-cyan\">\n<h3>16) Health Checks<\/h3>\n<p>Define in Dockerfile with <code>HEALTHCHECK<\/code> or at run time. Mark containers healthy\/unhealthy for orchestration decisions.<\/p>\n<pre><code class=\"mono\">HEALTHCHECK CMD curl --fail http:\/\/localhost:8000\/health || exit 1<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-lime\">\n<h3>17) Logs<\/h3>\n<p>Docker captures stdout\/stderr, logs per container. Drivers: json-file, syslog, fluentd, gelf, awslogs, etc. Centralize logs for production observability.<\/p>\n<pre><code class=\"mono\">docker logs -f myapp<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-orange\">\n<h3>18) Exec into Containers<\/h3>\n<p>Use <code>docker exec<\/code> to run commands inside running containers. Combine with <code>-it<\/code> for interactive shells.<\/p>\n<pre><code class=\"mono\">docker exec -it myapp bash<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-indigo\">\n<h3>19) Inspect &#038; Stats<\/h3>\n<p><code>docker inspect<\/code> gives JSON details; <code>docker stats<\/code> shows live CPU\/mem\/net usage. Use for debugging and performance checks.<\/p>\n<pre><code class=\"mono\">docker inspect myapp\r\ndocker stats<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-emerald\">\n<h3>20) Q&amp;A \u2014 \u201cWhy use Compose vs plain Docker?\u201d<\/h3>\n<p><span class=\"q\">Answer:<\/span> Compose manages multi-container dependencies, networks, and volumes declaratively. Easier for dev\/test. For prod scale, orchestration systems handle scheduling and resilience.<\/p>\n<\/p><\/div>\n<p>      <!-- =============== SECTION 3 ================= --><\/p>\n<div class=\"section-title\">Section 3 \u2014 Advanced Usage<\/div>\n<div class=\"card bg-blue\">\n<h3>21) Multi-Stage Builds<\/h3>\n<p>Multi-stage Dockerfiles reduce image size by compiling in one stage and copying results to a minimal runtime stage. Improves security and performance.<\/p>\n<pre><code class=\"mono\">FROM golang:1.22 AS build\r\nWORKDIR \/src\r\nCOPY . .\r\nRUN go build -o app\r\nFROM alpine\r\nCOPY --from=build \/src\/app \/app\r\nCMD [\"\/app\"]<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-green\">\n<h3>22) Resource Limits<\/h3>\n<p>Limit CPU\/mem per container using <code>--cpus<\/code> and <code>-m<\/code>. Prevent noisy neighbors and runaway containers.<\/p>\n<pre><code class=\"mono\">docker run -m 512m --cpus=1 myapp<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-amber\">\n<h3>23) Overlay Networks<\/h3>\n<p>Enable multi-host networking across Swarm\/K8s. Containers communicate seamlessly across nodes. Requires key-value store (Swarm handles automatically).<\/p>\n<pre><code class=\"mono\">docker network create -d overlay mynet<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-violet\">\n<h3>24) Secrets Management<\/h3>\n<p>Docker Swarm supports secrets natively. K8s has secrets too. Avoid baking secrets into images. Mount secrets at runtime instead.<\/p>\n<pre><code class=\"mono\">echo \"mypassword\" | docker secret create db_pass -<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-rose\">\n<h3>25) Docker Swarm<\/h3>\n<p>Swarm is Docker\u2019s native orchestration: clustering, scaling, service discovery, load balancing. Simpler than Kubernetes but less feature-rich.<\/p>\n<pre><code class=\"mono\">docker swarm init\r\ndocker service create --replicas 3 nginx<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-cyan\">\n<h3>26) Docker with Kubernetes<\/h3>\n<p>Kubernetes dominates orchestration. Docker images are OCI compliant and run on K8s. Use manifests, Helm charts, or operators for deployments.<\/p>\n<pre><code class=\"mono\">kubectl run web --image=nginx<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-lime\">\n<h3>27) CI\/CD Integration<\/h3>\n<p>Docker integrates into pipelines for builds, tests, deployments. Cache layers smartly, scan images for vulnerabilities, push to registries automatically.<\/p>\n<pre><code class=\"mono\"># GitHub Action example\r\nuses: docker\/build-push-action@v4<\/code><\/pre>\n<\/p><\/div>\n<div class=\"card bg-orange\">\n<h3>28) Security Best Practices<\/h3>\n<p>Use minimal base images, drop root with <code>USER<\/code>, keep host patched, sign images, and scan with Trivy\/Clair. Avoid exposing Docker socket.<\/p>\n<pre><code class=\"mono\"># Example user in Dockerfile\r\nRUN adduser -D app\r\nUSER app<\/code><\/pre>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Docker Pocket Book \u2014 Uplatz 50 deep-dive flashcards \u2022 Wide layout \u2022 Fewer scrolls \u2022 20+ Interview Q&amp;A \u2022 Readable code examples Section 1 \u2014 Fundamentals 1) What is Docker? <span class=\"readmore\"><a href=\"https:\/\/uplatz.com\/blog\/docker-pocket-book\/\">Read More &#8230;<\/a><\/span><\/p>\n","protected":false},"author":2,"featured_media":4849,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2399,2462],"tags":[],"class_list":["post-4744","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-docker","category-pocket-book"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Docker Pocket Book | Uplatz Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/uplatz.com\/blog\/docker-pocket-book\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Docker Pocket Book | Uplatz Blog\" \/>\n<meta property=\"og:description\" content=\"Docker Pocket Book \u2014 Uplatz 50 deep-dive flashcards \u2022 Wide layout \u2022 Fewer scrolls \u2022 20+ Interview Q&amp;A \u2022 Readable code examples Section 1 \u2014 Fundamentals 1) What is Docker? Read More ...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/uplatz.com\/blog\/docker-pocket-book\/\" \/>\n<meta property=\"og:site_name\" content=\"Uplatz Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Uplatz-1077816825610769\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-23T15:27:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-27T02:58:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/17.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"uplatzblog\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@uplatz_global\" \/>\n<meta name=\"twitter:site\" content=\"@uplatz_global\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"uplatzblog\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/docker-pocket-book\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/docker-pocket-book\\\/\"},\"author\":{\"name\":\"uplatzblog\",\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/#\\\/schema\\\/person\\\/8ecae69a21d0757bdb2f776e67d2645e\"},\"headline\":\"Docker Pocket Book\",\"datePublished\":\"2025-08-23T15:27:27+00:00\",\"dateModified\":\"2025-08-27T02:58:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/docker-pocket-book\\\/\"},\"wordCount\":710,\"publisher\":{\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/docker-pocket-book\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/17.png\",\"articleSection\":[\"Docker\",\"Pocket Book\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/docker-pocket-book\\\/\",\"url\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/docker-pocket-book\\\/\",\"name\":\"Docker Pocket Book | Uplatz Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/docker-pocket-book\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/docker-pocket-book\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/17.png\",\"datePublished\":\"2025-08-23T15:27:27+00:00\",\"dateModified\":\"2025-08-27T02:58:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/docker-pocket-book\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/uplatz.com\\\/blog\\\/docker-pocket-book\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/docker-pocket-book\\\/#primaryimage\",\"url\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/17.png\",\"contentUrl\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/17.png\",\"width\":1280,\"height\":720,\"caption\":\"Docker Pocket Book\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/docker-pocket-book\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docker Pocket Book\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/\",\"name\":\"Uplatz Blog\",\"description\":\"Uplatz is a global IT Training &amp; Consulting company\",\"publisher\":{\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/#organization\",\"name\":\"uplatz.com\",\"url\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/11\\\/Uplatz-Logo-Copy-2.png\",\"contentUrl\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/11\\\/Uplatz-Logo-Copy-2.png\",\"width\":1280,\"height\":800,\"caption\":\"uplatz.com\"},\"image\":{\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Uplatz-1077816825610769\\\/\",\"https:\\\/\\\/x.com\\\/uplatz_global\",\"https:\\\/\\\/www.instagram.com\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/7956715?trk=tyah&amp;amp;amp;amp;trkInfo=clickedVertical:company,clickedEntityId:7956715,idx:1-1-1,tarId:1464353969447,tas:uplatz\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/uplatz.com\\\/blog\\\/#\\\/schema\\\/person\\\/8ecae69a21d0757bdb2f776e67d2645e\",\"name\":\"uplatzblog\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7f814c72279199f59ded4418a8653ad15f5f8904ac75e025a4e2abe24d58fa5d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7f814c72279199f59ded4418a8653ad15f5f8904ac75e025a4e2abe24d58fa5d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7f814c72279199f59ded4418a8653ad15f5f8904ac75e025a4e2abe24d58fa5d?s=96&d=mm&r=g\",\"caption\":\"uplatzblog\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Docker Pocket Book | Uplatz Blog","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:\/\/uplatz.com\/blog\/docker-pocket-book\/","og_locale":"en_US","og_type":"article","og_title":"Docker Pocket Book | Uplatz Blog","og_description":"Docker Pocket Book \u2014 Uplatz 50 deep-dive flashcards \u2022 Wide layout \u2022 Fewer scrolls \u2022 20+ Interview Q&amp;A \u2022 Readable code examples Section 1 \u2014 Fundamentals 1) What is Docker? Read More ...","og_url":"https:\/\/uplatz.com\/blog\/docker-pocket-book\/","og_site_name":"Uplatz Blog","article_publisher":"https:\/\/www.facebook.com\/Uplatz-1077816825610769\/","article_published_time":"2025-08-23T15:27:27+00:00","article_modified_time":"2025-08-27T02:58:00+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/17.png","type":"image\/png"}],"author":"uplatzblog","twitter_card":"summary_large_image","twitter_creator":"@uplatz_global","twitter_site":"@uplatz_global","twitter_misc":{"Written by":"uplatzblog","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/uplatz.com\/blog\/docker-pocket-book\/#article","isPartOf":{"@id":"https:\/\/uplatz.com\/blog\/docker-pocket-book\/"},"author":{"name":"uplatzblog","@id":"https:\/\/uplatz.com\/blog\/#\/schema\/person\/8ecae69a21d0757bdb2f776e67d2645e"},"headline":"Docker Pocket Book","datePublished":"2025-08-23T15:27:27+00:00","dateModified":"2025-08-27T02:58:00+00:00","mainEntityOfPage":{"@id":"https:\/\/uplatz.com\/blog\/docker-pocket-book\/"},"wordCount":710,"publisher":{"@id":"https:\/\/uplatz.com\/blog\/#organization"},"image":{"@id":"https:\/\/uplatz.com\/blog\/docker-pocket-book\/#primaryimage"},"thumbnailUrl":"https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/17.png","articleSection":["Docker","Pocket Book"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/uplatz.com\/blog\/docker-pocket-book\/","url":"https:\/\/uplatz.com\/blog\/docker-pocket-book\/","name":"Docker Pocket Book | Uplatz Blog","isPartOf":{"@id":"https:\/\/uplatz.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/uplatz.com\/blog\/docker-pocket-book\/#primaryimage"},"image":{"@id":"https:\/\/uplatz.com\/blog\/docker-pocket-book\/#primaryimage"},"thumbnailUrl":"https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/17.png","datePublished":"2025-08-23T15:27:27+00:00","dateModified":"2025-08-27T02:58:00+00:00","breadcrumb":{"@id":"https:\/\/uplatz.com\/blog\/docker-pocket-book\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/uplatz.com\/blog\/docker-pocket-book\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/uplatz.com\/blog\/docker-pocket-book\/#primaryimage","url":"https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/17.png","contentUrl":"https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2025\/08\/17.png","width":1280,"height":720,"caption":"Docker Pocket Book"},{"@type":"BreadcrumbList","@id":"https:\/\/uplatz.com\/blog\/docker-pocket-book\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/uplatz.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Docker Pocket Book"}]},{"@type":"WebSite","@id":"https:\/\/uplatz.com\/blog\/#website","url":"https:\/\/uplatz.com\/blog\/","name":"Uplatz Blog","description":"Uplatz is a global IT Training &amp; Consulting company","publisher":{"@id":"https:\/\/uplatz.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/uplatz.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/uplatz.com\/blog\/#organization","name":"uplatz.com","url":"https:\/\/uplatz.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/uplatz.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2016\/11\/Uplatz-Logo-Copy-2.png","contentUrl":"https:\/\/uplatz.com\/blog\/wp-content\/uploads\/2016\/11\/Uplatz-Logo-Copy-2.png","width":1280,"height":800,"caption":"uplatz.com"},"image":{"@id":"https:\/\/uplatz.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Uplatz-1077816825610769\/","https:\/\/x.com\/uplatz_global","https:\/\/www.instagram.com\/","https:\/\/www.linkedin.com\/company\/7956715?trk=tyah&amp;amp;amp;amp;trkInfo=clickedVertical:company,clickedEntityId:7956715,idx:1-1-1,tarId:1464353969447,tas:uplatz"]},{"@type":"Person","@id":"https:\/\/uplatz.com\/blog\/#\/schema\/person\/8ecae69a21d0757bdb2f776e67d2645e","name":"uplatzblog","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/7f814c72279199f59ded4418a8653ad15f5f8904ac75e025a4e2abe24d58fa5d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/7f814c72279199f59ded4418a8653ad15f5f8904ac75e025a4e2abe24d58fa5d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7f814c72279199f59ded4418a8653ad15f5f8904ac75e025a4e2abe24d58fa5d?s=96&d=mm&r=g","caption":"uplatzblog"}}]}},"_links":{"self":[{"href":"https:\/\/uplatz.com\/blog\/wp-json\/wp\/v2\/posts\/4744","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/uplatz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/uplatz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/uplatz.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/uplatz.com\/blog\/wp-json\/wp\/v2\/comments?post=4744"}],"version-history":[{"count":4,"href":"https:\/\/uplatz.com\/blog\/wp-json\/wp\/v2\/posts\/4744\/revisions"}],"predecessor-version":[{"id":4879,"href":"https:\/\/uplatz.com\/blog\/wp-json\/wp\/v2\/posts\/4744\/revisions\/4879"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/uplatz.com\/blog\/wp-json\/wp\/v2\/media\/4849"}],"wp:attachment":[{"href":"https:\/\/uplatz.com\/blog\/wp-json\/wp\/v2\/media?parent=4744"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/uplatz.com\/blog\/wp-json\/wp\/v2\/categories?post=4744"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/uplatz.com\/blog\/wp-json\/wp\/v2\/tags?post=4744"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}