enigmare/v2-crawler
1904
1{"id":"doc-get_started_docker_docs-baee36a8","source":"documentation","title":"Get started | Docker Docs","url":"https://docs.docker.com/get-started/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.970Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":0,"totalLines":3,"estimatedTokens":26}}2{"id":"doc-get_docker_docker_docs-eb3bcffe","source":"documentation","title":"Get Docker | Docker Docs","url":"https://docs.docker.com/get-started/get-docker/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.970Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":0,"totalLines":3,"estimatedTokens":26}}3{"id":"doc-get_docker_desktop_docker_docs-e5821761","source":"documentation","title":"Get Docker Desktop | Docker Docs","url":"https://docs.docker.com/get-started/introduction/get-docker-desktop/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```console\n$ docker run -d -p 8080:80 docker/welcome-to-docker\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.971Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":1,"totalLines":8,"estimatedTokens":45}}4{"id":"doc-what_s_next_docker_docs-c7292867","source":"documentation","title":"What's next | Docker Docs","url":"https://docs.docker.com/get-started/introduction/whats-next/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.971Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":0,"totalLines":3,"estimatedTokens":26}}5{"id":"doc-introduction_docker_docs-76794491","source":"documentation","title":"Introduction | Docker Docs","url":"https://docs.docker.com/get-started/introduction/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.971Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":0,"totalLines":3,"estimatedTokens":26}}6{"id":"doc-build_and_push_your_first_image_docker_docs-5d26e572","source":"documentation","title":"Build and push your first image | Docker Docs","url":"https://docs.docker.com/get-started/introduction/build-and-push-first-image/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```console\n$ git clone https://github.com/docker/getting-started-todo-app\n```\n\nExample:\n```console\n$ cd getting-started-todo-app\n```\n\nExample:\n```console\n$ docker build -t <DOCKER_USERNAME>/getting-started-todo-app .\n```\n\nExample:\n```console\n$ docker build -t mobydock/getting-started-todo-app .\n```\n\nExample:\n```console\n$ docker image ls\n```\n\nExample:\n```console\nREPOSITORY TAG IMAGE ID CREATED SIZE\nmobydock/getting-started-todo-app latest 1543656c9290 2 minutes ago 1.12GB\n...\n```\n\nExample:\n```console\n$ docker push <DOCKER_USERNAME>/getting-started-todo-app\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.971Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":7,"totalLines":40,"estimatedTokens":184}}7{"id":"doc-what_is_docker_docker_docs-5bebd759","source":"documentation","title":"What is Docker? | Docker Docs","url":"https://docs.docker.com/get-started/docker-overview/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```console\n$ docker run -i -t ubuntu /bin/bash\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.972Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":1,"totalLines":8,"estimatedTokens":41}}8{"id":"doc-develop_with_containers_docker_docs-ec7cfc59","source":"documentation","title":"Develop with containers | Docker Docs","url":"https://docs.docker.com/get-started/introduction/develop-with-containers/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```console\n$ git clone https://github.com/docker/getting-started-todo-app\n```\n\nExample:\n```console\n$ cd getting-started-todo-app\n```\n\nExample:\n```console\n$ docker compose watch\n```\n\nExample:\n```text\n1\n 2\n 3\n 4\n 5\n 6\n 7\n 8\n 9\n10\n11\n```\n\nExample:\n```js\nconst GREETINGS = [\n \"Whalecome!\",\n \"All hands on deck!\",\n \"Charting the course ahead!\",\n];\n\nmodule.exports = async (req, res) => {\n res.send({\n greeting: GREETINGS[Math.floor(Math.random() * GREETINGS.length)],\n });\n};\n```\n\nExample:\n```text\n33\n34\n35\n36\n37\n38\n39\n```\n\nExample:\n```js\n<Form.Control\n value={newItem}\n onChange={(e) => setNewItem(e.target.value)}\n type=\"text\"\n placeholder=\"What do you need to do?\"\n aria-label=\"New item\"\n/>\n```\n\nExample:\n```text\n3\n4\n5\n6\n7\n```\n\nExample:\n```css\nbody {\n background-color: #99bbff;\n margin-top: 50px;\n font-family: \"Lato\";\n}\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.972Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":9,"totalLines":88,"estimatedTokens":238}}9{"id":"doc-what_is_a_container_docker_docs-b236345f","source":"documentation","title":"What is a container? | Docker Docs","url":"https://docs.docker.com/get-started/docker-concepts/the-basics/what-is-a-container/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```console\n$ docker run -d -p 8080:80 docker/welcome-to-docker\n```\n\nExample:\n```console\ndocker ps\n```\n\nExample:\n```console\nCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES\n a1f7a4bb3a27 docker/welcome-to-docker \"/docker-entrypoint.…\" 11 seconds ago Up 11 seconds 0.0.0.0:8080->80/tcp gracious_keldysh\n```\n\nExample:\n```console\ndocker stop <the-container-id>\n```\n\nExample:\n```console\ndocker stop a1f\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.972Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":5,"totalLines":29,"estimatedTokens":154}}10{"id":"doc-what_is_an_image_docker_docs-551764b3","source":"documentation","title":"What is an image? | Docker Docs","url":"https://docs.docker.com/get-started/docker-concepts/the-basics/what-is-an-image/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```console\ndocker search docker/welcome-to-docker\n```\n\nExample:\n```console\nNAME DESCRIPTION STARS OFFICIAL\ndocker/welcome-to-docker Docker image for new users getting started w… 20\n```\n\nExample:\n```console\ndocker pull docker/welcome-to-docker\n```\n\nExample:\n```console\nUsing default tag: latest\nlatest: Pulling from docker/welcome-to-docker\n579b34f0a95b: Download complete\nd11a451e6399: Download complete\n1c2214f9937c: Download complete\nb42a2f288f4d: Download complete\n54b19e12c655: Download complete\n1fb28e078240: Download complete\n94be7e780731: Download complete\n89578ce72c35: Download complete\nDigest: sha256:eedaff45e3c78538087bdd9dc7afafac7e110061bbdd836af4104b10f10ab693\nStatus: Downloaded newer image for docker/welcome-to-docker:latest\ndocker.io/docker/welcome-to-docker:latest\n```\n\nExample:\n```console\ndocker image ls\n```\n\nExample:\n```console\nREPOSITORY TAG IMAGE ID CREATED SIZE\ndocker/welcome-to-docker latest eedaff45e3c7 4 months ago 29.7MB\n```\n\nExample:\n```console\ndocker image history docker/welcome-to-docker\n```\n\nExample:\n```console\nIMAGE CREATED CREATED BY SIZE COMMENT\n648f93a1ba7d 4 months ago COPY /app/build /usr/share/nginx/html # buil… 1.6MB buildkit.dockerfile.v0\n<missing> 5 months ago /bin/sh -c #(nop) CMD [\"nginx\" \"-g\" \"daemon… 0B\n<missing> 5 months ago /bin/sh -c #(nop) STOPSIGNAL SIGQUIT 0B\n<missing> 5 months ago /bin/sh -c #(nop) EXPOSE 80 0B\n<missing> 5 months ago /bin/sh -c #(nop) ENTRYPOINT [\"/docker-entr… 0B\n<missing> 5 months ago /bin/sh -c #(nop) COPY file:9e3b2b63db9f8fc7… 4.62kB\n<missing> 5 months ago /bin/sh -c #(nop) COPY file:57846632accc8975… 3.02kB\n<missing> 5 months ago /bin/sh -c #(nop) COPY file:3b1b9915b7dd898a… 298B\n<missing> 5 months ago /bin/sh -c #(nop) COPY file:caec368f5a54f70a… 2.12kB\n<missing> 5 months ago /bin/sh -c #(nop) COPY file:01e75c6dd0ce317d… 1.62kB\n<missing> 5 months ago /bin/sh -c set -x && addgroup -g 101 -S … 9.7MB\n<missing> 5 months ago /bin/sh -c #(nop) ENV PKG_RELEASE=1 0B\n<missing> 5 months ago /bin/sh -c #(nop) ENV NGINX_VERSION=1.25.3 0B\n<missing> 5 months ago /bin/sh -c #(nop) LABEL maintainer=NGINX Do… 0B\n<missing> 5 months ago /bin/sh -c #(nop) CMD [\"/bin/sh\"] 0B\n<missing> 5 months ago /bin/sh -c #(nop) ADD file:ff3112828967e8004… 7.66MB\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.973Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":8,"totalLines":73,"estimatedTokens":681}}11{"id":"doc-writing_a_dockerfile_docker_docs-dbf87e4a","source":"documentation","title":"Writing a Dockerfile | Docker Docs","url":"https://docs.docker.com/get-started/docker-concepts/building-images/writing-a-dockerfile/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```dockerfile\nFROM python:3.13\nWORKDIR /usr/local/app\n\n# Install the application dependencies\nCOPY requirements.txt ./\nRUN pip install --no-cache-dir -r requirements.txt\n\n# Copy in the source code\nCOPY src ./src\nEXPOSE 8080\n\n# Setup an app user so the container doesn't run as the root user\nRUN useradd app\nUSER app\n\nCMD [\"uvicorn\", \"app.main:app\", \"--host\", \"0.0.0.0\", \"--port\", \"8080\"]\n```\n\nExample:\n```dockerfile\nFROM node:22-alpine\n```\n\nExample:\n```dockerfile\nWORKDIR /app\n```\n\nExample:\n```dockerfile\nCOPY . .\n```\n\nExample:\n```dockerfile\nRUN yarn install --production\n```\n\nExample:\n```dockerfile\nCMD [\"node\", \"./src/index.js\"]\n```\n\nExample:\n```dockerfile\nFROM node:22-alpine\nWORKDIR /app\nCOPY . .\nRUN yarn install --production\nCMD [\"node\", \"./src/index.js\"]\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.973Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":7,"totalLines":57,"estimatedTokens":220}}12{"id":"doc-building_images_docker_docs-0a2719d8","source":"documentation","title":"Building images | Docker Docs","url":"https://docs.docker.com/get-started/docker-concepts/building-images/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.973Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":0,"totalLines":3,"estimatedTokens":26}}13{"id":"doc-understanding_the_image_layers_docker_docs-11dbed76","source":"documentation","title":"Understanding the image layers | Docker Docs","url":"https://docs.docker.com/get-started/docker-concepts/building-images/understanding-image-layers/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```console\n$ docker run --name=base-container -ti ubuntu\n```\n\nExample:\n```console\nroot@d8c5ca119fcd:/#\n```\n\nExample:\n```console\n$ apt update && apt install -y nodejs\n```\n\nExample:\n```console\n$ node -e 'console.log(\"Hello world!\")'\n```\n\nExample:\n```console\n$ docker container commit -m \"Add node\" base-container node-base\n```\n\nExample:\n```console\n$ docker image history node-base\n```\n\nExample:\n```console\nIMAGE CREATED CREATED BY SIZE COMMENT\n9e274734bb25 10 seconds ago /bin/bash 157MB Add node\ncd1dba651b30 7 days ago /bin/sh -c #(nop) CMD [\"/bin/bash\"] 0B\n<missing> 7 days ago /bin/sh -c #(nop) ADD file:6089c6bede9eca8ec… 110MB\n<missing> 7 days ago /bin/sh -c #(nop) LABEL org.opencontainers.… 0B\n<missing> 7 days ago /bin/sh -c #(nop) LABEL org.opencontainers.… 0B\n<missing> 7 days ago /bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH 0B\n<missing> 7 days ago /bin/sh -c #(nop) ARG RELEASE 0B\n```\n\nExample:\n```console\n$ docker run node-base node -e \"console.log('Hello again')\"\n```\n\nExample:\n```console\n$ docker rm -f base-container\n```\n\nExample:\n```console\n$ docker run --name=app-container -ti node-base\n```\n\nExample:\n```console\n$ echo 'console.log(\"Hello from an app\")' > app.js\n```\n\nExample:\n```console\n$ node app.js\n```\n\nExample:\n```console\n$ docker container commit -c \"CMD node app.js\" -m \"Add app\" app-container sample-app\n```\n\nExample:\n```console\n$ docker image history sample-app\n```\n\nExample:\n```console\nIMAGE CREATED CREATED BY SIZE COMMENT\nc1502e2ec875 About a minute ago /bin/bash 33B Add app\n5310da79c50a 4 minutes ago /bin/bash 126MB Add node\n2b7cc08dcdbb 5 weeks ago /bin/sh -c #(nop) CMD [\"/bin/bash\"] 0B\n<missing> 5 weeks ago /bin/sh -c #(nop) ADD file:07cdbabf782942af0… 69.2MB\n<missing> 5 weeks ago /bin/sh -c #(nop) LABEL org.opencontainers.… 0B\n<missing> 5 weeks ago /bin/sh -c #(nop) LABEL org.opencontainers.… 0B\n<missing> 5 weeks ago /bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH 0B\n<missing> 5 weeks ago /bin/sh -c #(nop) ARG RELEASE 0B\n```\n\nExample:\n```console\n$ docker run sample-app\n```\n\nExample:\n```console\n$ docker rm -f app-container\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.974Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":17,"totalLines":103,"estimatedTokens":669}}14{"id":"doc-what_is_docker_compose_docker_docs-09deb095","source":"documentation","title":"What is Docker Compose? | Docker Docs","url":"https://docs.docker.com/get-started/docker-concepts/the-basics/what-is-docker-compose/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```console\ngit clone https://github.com/dockersamples/todo-list-app\n```\n\nExample:\n```console\ncd todo-list-app\n```\n\nExample:\n```console\ndocker compose up -d --build\n```\n\nExample:\n```console\n[+] Running 5/5\n✔ app 3 layers [⣿⣿⣿] 0B/0B Pulled 7.1s\n ✔ e6f4e57cc59e Download complete 0.9s\n ✔ df998480d81d Download complete 1.0s\n ✔ 31e174fedd23 Download complete 2.5s\n ✔ 43c47a581c29 Download complete 2.0s\n[+] Running 4/4\n ⠸ Network todo-list-app_default Created 0.3s\n ⠸ Volume \"todo-list-app_todo-mysql-data\" Created 0.3s\n ✔ Container todo-list-app-app-1 Started 0.3s\n ✔ Container todo-list-app-mysql-1 Started 0.3s\n```\n\nExample:\n```console\ndocker compose down\n```\n\nExample:\n```console\n[+] Running 3/3\n✔ Container todo-list-app-mysql-1 Removed 2.9s\n✔ Container todo-list-app-app-1 Removed 0.1s\n✔ Network todo-list-app_default Removed 0.1s\n```\n\nExample:\n```console\ndocker compose down --volumes\n[+] Running 1/0\n✔ Volume todo-list-app_todo-mysql-data Removed\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.974Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":7,"totalLines":53,"estimatedTokens":323}}15{"id":"doc-what_is_a_registry_docker_docs-132fa69f","source":"documentation","title":"What is a registry? | Docker Docs","url":"https://docs.docker.com/get-started/docker-concepts/the-basics/what-is-a-registry/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```text\nflowchart TB\n subgraph Registry\n subgraph A[\"Repository A\"]\n A1[\"project-a:v1.0\"]\n A2[\"project-a:v2.0\"]\n end\n subgraph B[\"Repository B\"]\n B1[\"project-b:v1.0\"]\n B2[\"project-b:v1.1\"]\n B3[\"project-b:v2.0\"]\n end\n end\n```\n\nExample:\n```console\ngit clone https://github.com/dockersamples/helloworld-demo-node\n```\n\nExample:\n```console\ncd helloworld-demo-node\n```\n\nExample:\n```console\ndocker build -t <YOUR_DOCKER_USERNAME>/docker-quickstart .\n```\n\nExample:\n```console\ndocker images\n```\n\nExample:\n```console\nREPOSITORY TAG IMAGE ID CREATED SIZE\n<YOUR_DOCKER_USERNAME>/docker-quickstart latest 476de364f70e 2 minutes ago 170MB\n```\n\nExample:\n```console\ndocker run -d -p 8080:8080 <YOUR_DOCKER_USERNAME>/docker-quickstart\n```\n\nExample:\n```console\ndocker tag <YOUR_DOCKER_USERNAME>/docker-quickstart <YOUR_DOCKER_USERNAME>/docker-quickstart:1.0\n```\n\nExample:\n```console\ndocker push <YOUR_DOCKER_USERNAME>/docker-quickstart:1.0\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.974Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":9,"totalLines":60,"estimatedTokens":285}}16{"id":"doc-overview_of_the_docker_workshop_docker_docs-6dcdb832","source":"documentation","title":"Overview of the Docker workshop | Docker Docs","url":"https://docs.docker.com/get-started/workshop/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.974Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":0,"totalLines":3,"estimatedTokens":26}}17{"id":"doc-build_tag_and_publish_an_image_docker_docs-562eb2c1","source":"documentation","title":"Build, tag, and publish an image | Docker Docs","url":"https://docs.docker.com/get-started/docker-concepts/building-images/build-tag-and-publish-an-image/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```bash\ndocker build .\n```\n\nExample:\n```console\n$ docker build .\n[+] Building 3.5s (11/11) FINISHED docker:desktop-linux\n => [internal] load build definition from Dockerfile 0.0s\n => => transferring dockerfile: 308B 0.0s\n => [internal] load metadata for docker.io/library/python:3.12 0.0s\n => [internal] load .dockerignore 0.0s\n => => transferring context: 2B 0.0s\n => [1/6] FROM docker.io/library/python:3.12 0.0s\n => [internal] load build context 0.0s\n => => transferring context: 123B 0.0s\n => [2/6] WORKDIR /usr/local/app 0.0s\n => [3/6] RUN useradd app 0.1s\n => [4/6] COPY ./requirements.txt ./requirements.txt 0.0s\n => [5/6] RUN pip install --no-cache-dir --upgrade -r requirements.txt 3.2s\n => [6/6] COPY ./app ./app 0.0s\n => exporting to image 0.1s\n => => exporting layers 0.1s\n => => writing image sha256:9924dfd9350407b3df01d1a0e1033b1e543523ce7d5d5e2c83a724480ebe8f00 0.0s\n```\n\nExample:\n```console\ndocker run sha256:9924dfd9350407b3df01d1a0e1033b1e543523ce7d5d5e2c83a724480ebe8f00\n```\n\nExample:\n```text\n[HOST[:PORT_NUMBER]/]PATH[:TAG]\n```\n\nExample:\n```console\ndocker build -t my-username/my-image .\n```\n\nExample:\n```console\ndocker image tag my-username/my-image another-username/another-image:v1\n```\n\nExample:\n```console\ndocker push my-username/my-image\n```\n\nExample:\n```console\n$ git clone https://github.com/docker/getting-started-todo-app\n```\n\nExample:\n```console\n$ docker build -t <YOUR_DOCKER_USERNAME>/concepts-build-image-demo .\n```\n\nExample:\n```console\n$ docker build -t mobywhale/concepts-build-image-demo .\n```\n\nExample:\n```console\n$ docker image ls\n```\n\nExample:\n```plaintext\nREPOSITORY TAG IMAGE ID CREATED SIZE\nmobywhale/concepts-build-image-demo latest 746c7e06537f 24 seconds ago 354MB\n```\n\nExample:\n```console\n$ docker image history mobywhale/concepts-build-image-demo\n```\n\nExample:\n```plaintext\nIMAGE CREATED CREATED BY SIZE COMMENT\nf279389d5f01 8 seconds ago CMD [\"node\" \"./src/index.js\"] 0B buildkit.dockerfile.v0\n<missing> 8 seconds ago EXPOSE map[3000/tcp:{}] 0B buildkit.dockerfile.v0 \n<missing> 8 seconds ago WORKDIR /app 8.19kB buildkit.dockerfile.v0\n<missing> 4 days ago /bin/sh -c #(nop) CMD [\"node\"] 0B\n<missing> 4 days ago /bin/sh -c #(nop) ENTRYPOINT [\"docker-entry… 0B\n<missing> 4 days ago /bin/sh -c #(nop) COPY file:4d192565a7220e13… 20.5kB\n<missing> 4 days ago /bin/sh -c apk add --no-cache --virtual .bui… 7.92MB\n<missing> 4 days ago /bin/sh -c #(nop) ENV YARN_VERSION=1.22.19 0B\n<missing> 4 days ago /bin/sh -c addgroup -g 1000 node && addu… 126MB\n<missing> 4 days ago /bin/sh -c #(nop) ENV NODE_VERSION=20.12.0 0B\n<missing> 2 months ago /bin/sh -c #(nop) CMD [\"/bin/sh\"] 0B\n<missing> 2 months ago /bin/sh -c #(nop) ADD file:d0764a717d1e9d0af… 8.42MB\n```\n\nExample:\n```console\n$ docker push <YOUR_DOCKER_USERNAME>/concepts-build-image-demo\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.975Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":15,"totalLines":108,"estimatedTokens":1043}}18{"id":"doc-share_the_application_docker_docs-3e2008af","source":"documentation","title":"Share the application | Docker Docs","url":"https://docs.docker.com/get-started/workshop/04_sharing_app/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```console\ndocker push docker/getting-started\n```\n\nExample:\n```console\n$ docker push docker/getting-started\nThe push refers to repository [docker.io/docker/getting-started]\nAn image does not exist locally with the tag: docker/getting-started\n```\n\nExample:\n```console\ndocker image ls\n```\n\nExample:\n```console\n$ docker tag getting-started YOUR-USER-NAME/getting-started\n```\n\nExample:\n```console\n$ docker push YOUR-USER-NAME/getting-started\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.975Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":5,"totalLines":30,"estimatedTokens":139}}19{"id":"doc-using_the_build_cache_docker_docs-3b132c0d","source":"documentation","title":"Using the build cache | Docker Docs","url":"https://docs.docker.com/get-started/docker-concepts/building-images/using-the-build-cache/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```dockerfile\nFROM node:22-alpine\nWORKDIR /app\nCOPY . .\nRUN yarn install --production\nCMD [\"node\", \"./src/index.js\"]\n```\n\nExample:\n```console\n$ git clone https://github.com/dockersamples/todo-list-app\n```\n\nExample:\n```console\n$ cd todo-list-app\n```\n\nExample:\n```dockerfile\nFROM node:22-alpine\nWORKDIR /app\nCOPY . .\nRUN yarn install --production\nEXPOSE 3000\nCMD [\"node\", \"./src/index.js\"]\n```\n\nExample:\n```console\n$ docker build .\n```\n\nExample:\n```console\n[+] Building 20.0s (10/10) FINISHED\n```\n\nExample:\n```console\n[+] Building 1.0s (9/9) FINISHED docker:desktop-linux\n => [internal] load build definition from Dockerfile 0.0s\n => => transferring dockerfile: 187B 0.0s\n ...\n => [internal] load build context 0.0s\n => => transferring context: 8.16kB 0.0s\n => CACHED [2/4] WORKDIR /app 0.0s\n => CACHED [3/4] COPY . . 0.0s\n => CACHED [4/4] RUN yarn install --production 0.0s\n => exporting to image 0.0s\n => => exporting layers 0.0s\n => => exporting manifest\n```\n\nExample:\n```dockerfile\nFROM node:22-alpine\nWORKDIR /app\nCOPY package.json yarn.lock ./\nRUN yarn install --production \nCOPY . . \nEXPOSE 3000\nCMD [\"node\", \"src/index.js\"]\n```\n\nExample:\n```plaintext\nnode_modules\n```\n\nExample:\n```console\n[+] Building 16.1s (10/10) FINISHED\n=> [internal] load build definition from Dockerfile 0.0s\n=> => transferring dockerfile: 175B 0.0s\n=> [internal] load .dockerignore 0.0s\n=> => transferring context: 2B 0.0s\n=> [internal] load metadata for docker.io/library/node:22-alpine 0.0s\n=> [internal] load build context 0.8s\n=> => transferring context: 53.37MB 0.8s\n=> [1/5] FROM docker.io/library/node:22-alpine 0.0s\n=> CACHED [2/5] WORKDIR /app 0.0s\n=> [3/5] COPY package.json yarn.lock ./ 0.2s\n=> [4/5] RUN yarn install --production 14.0s\n=> [5/5] COPY . . 0.5s\n=> exporting to image 0.6s\n=> => exporting layers 0.6s\n=> => writing image \nsha256:d6f819013566c54c50124ed94d5e66c452325327217f4f04399b45f94e37d25 0.0s\n=> => naming to docker.io/library/node-app:2.0 0.0s\n```\n\nExample:\n```console\n$ docker build -t node-app:3.0 .\n```\n\nExample:\n```console\n[+] Building 1.2s (10/10) FINISHED \n=> [internal] load build definition from Dockerfile 0.0s\n=> => transferring dockerfile: 37B 0.0s\n=> [internal] load .dockerignore 0.0s\n=> => transferring context: 2B 0.0s\n=> [internal] load metadata for docker.io/library/node:22-alpine 0.0s \n=> [internal] load build context 0.2s\n=> => transferring context: 450.43kB 0.2s\n=> [1/5] FROM docker.io/library/node:22-alpine 0.0s\n=> CACHED [2/5] WORKDIR /app 0.0s\n=> CACHED [3/5] COPY package.json yarn.lock ./ 0.0s\n=> CACHED [4/5] RUN yarn install --production 0.0s\n=> [5/5] COPY . . 0.5s \n=> exporting to image 0.3s\n=> => exporting layers 0.3s\n=> => writing image \nsha256:91790c87bcb096a83c2bd4eb512bc8b134c757cda0bdee4038187f98148e2eda 0.0s\n=> => naming to docker.io/library/node-app:3.0 0.0s\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.975Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":12,"totalLines":123,"estimatedTokens":1413}}20{"id":"doc-containerize_an_application_docker_docs-5d7d41b5","source":"documentation","title":"Containerize an application | Docker Docs","url":"https://docs.docker.com/get-started/workshop/02_our_app/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```console\n$ git clone https://github.com/docker/getting-started-app.git\n```\n\nExample:\n```text\n├── getting-started-app/\n│ ├── .dockerignore\n│ ├── package.json\n│ ├── package-lock.json \n│ ├── README.md\n│ ├── spec/\n│ ├── src/\n```\n\nExample:\n```dockerfile\n# syntax=docker/dockerfile:1\n\nFROM node:24-alpine\nWORKDIR /app\nCOPY . .\nRUN npm install --omit=dev\nCMD [\"node\", \"src/index.js\"]\nEXPOSE 3000\n```\n\nExample:\n```console\n$ cd /path/to/getting-started-app\n```\n\nExample:\n```console\n$ docker build -t getting-started .\n```\n\nExample:\n```console\n$ docker run -d -p 127.0.0.1:3000:3000 getting-started\n```\n\nExample:\n```console\n$ docker ps\n```\n\nExample:\n```console\nCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES\ndf784548666d getting-started \"docker-entrypoint.s…\" 2 minutes ago Up 2 minutes 127.0.0.1:3000->3000/tcp priceless_mcclintock\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.976Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":8,"totalLines":57,"estimatedTokens":266}}21{"id":"doc-persist_the_db_docker_docs-f82b084a","source":"documentation","title":"Persist the DB | Docker Docs","url":"https://docs.docker.com/get-started/workshop/05_persisting_data/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```console\n$ docker run --rm alpine touch greeting.txt\n```\n\nExample:\n```console\n$ docker run --rm alpine stat greeting.txt\n```\n\nExample:\n```console\nstat: can't stat 'greeting.txt': No such file or directory\n```\n\nExample:\n```console\n$ docker volume create todo-db\n```\n\nExample:\n```console\n$ docker run -dp 127.0.0.1:3000:3000 --mount type=volume,src=todo-db,target=/etc/todos getting-started\n```\n\nExample:\n```console\n$ docker run -dp 127.0.0.1:3000:3000 --mount type=volume,src=todo-db,target=//etc/todos getting-started\n```\n\nExample:\n```console\n$ docker volume inspect todo-db\n```\n\nExample:\n```console\n[\n {\n \"CreatedAt\": \"2019-09-26T02:18:36Z\",\n \"Driver\": \"local\",\n \"Labels\": {},\n \"Mountpoint\": \"/var/lib/docker/volumes/todo-db/_data\",\n \"Name\": \"todo-db\",\n \"Options\": {},\n \"Scope\": \"local\"\n }\n]\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.976Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":8,"totalLines":53,"estimatedTokens":242}}22{"id":"doc-overriding_container_defaults_docker_docs-537060a8","source":"documentation","title":"Overriding container defaults | Docker Docs","url":"https://docs.docker.com/get-started/docker-concepts/running-containers/overriding-container-defaults/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```console\n$ docker run -d -p HOST_PORT:CONTAINER_PORT postgres\n```\n\nExample:\n```console\n$ docker run -e foo=bar postgres env\n```\n\nExample:\n```console\nHOSTNAME=2042f2e6ebe4\nfoo=bar\n```\n\nExample:\n```console\n$ docker run --env-file .env postgres env\n```\n\nExample:\n```console\n$ docker run -e POSTGRES_PASSWORD=secret --memory=\"512m\" --cpus=\"0.5\" postgres\n```\n\nExample:\n```console\n$ docker run -d -e POSTGRES_PASSWORD=secret -p 5432:5432 postgres\n```\n\nExample:\n```console\n$ docker run -d -e POSTGRES_PASSWORD=secret -p 5433:5432 postgres\n```\n\nExample:\n```console\n$ docker network create mynetwork\n```\n\nExample:\n```console\n$ docker network ls\n```\n\nExample:\n```console\n$ docker run -d -e POSTGRES_PASSWORD=secret -p 5434:5432 --network mynetwork postgres\n```\n\nExample:\n```console\n$ docker run -d -e POSTGRES_PASSWORD=secret --memory=\"512m\" --cpus=\".5\" postgres\n```\n\nExample:\n```yaml\nservices:\n postgres:\n image: postgres:18\n entrypoint: [\"docker-entrypoint.sh\", \"postgres\"]\n command: [\"-h\", \"localhost\", \"-p\", \"5432\"]\n environment:\n POSTGRES_PASSWORD: secret\n```\n\nExample:\n```console\n$ docker compose up -d\n```\n\nExample:\n```console\n# psql -U postgres\n```\n\nExample:\n```console\n$ docker run -e POSTGRES_PASSWORD=secret postgres docker-entrypoint.sh -h localhost -p 5432\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.977Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":15,"totalLines":85,"estimatedTokens":349}}23{"id":"doc-image_building_best_practices_docker_docs-99275bb9","source":"documentation","title":"Image-building best practices | Docker Docs","url":"https://docs.docker.com/get-started/workshop/09_image_best/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```console\n$ docker image history getting-started\n```\n\nExample:\n```plaintext\nIMAGE CREATED CREATED BY SIZE COMMENT\na78a40cbf866 18 seconds ago /bin/sh -c #(nop) CMD [\"node\" \"src/index.j… 0B \nf1d1808565d6 19 seconds ago /bin/sh -c npm install --omit=dev 85.4MB \na2c054d14948 36 seconds ago /bin/sh -c #(nop) COPY dir:5dc710ad87c789593… 198kB \n9577ae713121 37 seconds ago /bin/sh -c #(nop) WORKDIR /app 0B \nb95baba1cfdb 13 days ago /bin/sh -c #(nop) CMD [\"node\"] 0B \n<missing> 13 days ago /bin/sh -c #(nop) ENTRYPOINT [\"docker-entry… 0B \n<missing> 13 days ago /bin/sh -c #(nop) COPY file:238737301d473041… 116B \n<missing> 13 days ago /bin/sh -c apk add --no-cache --virtual .bui… 5.35MB \n<missing> 13 days ago /bin/sh -c addgroup -g 1000 node && addu… 74.3MB \n<missing> 13 days ago /bin/sh -c #(nop) ENV NODE_VERSION=12.14.1 0B \n<missing> 13 days ago /bin/sh -c #(nop) CMD [\"/bin/sh\"] 0B \n<missing> 13 days ago /bin/sh -c #(nop) ADD file:e69d441d729412d24… 5.59MB\n```\n\nExample:\n```console\n$ docker image history --no-trunc getting-started\n```\n\nExample:\n```dockerfile\n# syntax=docker/dockerfile:1\nFROM node:24-alpine\nWORKDIR /app\nCOPY . .\nRUN npm install --omit=dev\nCMD [\"node\", \"src/index.js\"]\nEXPOSE 3000\n```\n\nExample:\n```dockerfile\n# syntax=docker/dockerfile:1\nFROM node:24-alpine\nWORKDIR /app\nCOPY package.json package-lock.json ./\nRUN npm install --omit=dev\nCOPY . .\nCMD [\"node\", \"src/index.js\"]\n```\n\nExample:\n```console\n$ docker build -t getting-started .\n```\n\nExample:\n```plaintext\n[+] Building 16.1s (10/10) FINISHED\n=> [internal] load build definition from Dockerfile\n=> => transferring dockerfile: 175B\n=> [internal] load .dockerignore\n=> => transferring context: 2B\n=> [internal] load metadata for docker.io/library/node:24-alpine\n=> [internal] load build context\n=> => transferring context: 53.37MB\n=> [1/5] FROM docker.io/library/node:24-alpine\n=> CACHED [2/5] WORKDIR /app\n=> [3/5] COPY package.json package-lock.json ./\n=> [4/5] RUN npm install --omit=dev\n=> [5/5] COPY . .\n=> exporting to image\n=> => exporting layers\n=> => writing image sha256:d6f819013566c54c50124ed94d5e66c452325327217f4f04399b45f94e37d25\n=> => naming to docker.io/library/getting-started\n```\n\nExample:\n```plaintext\n[+] Building 1.2s (10/10) FINISHED\n=> [internal] load build definition from Dockerfile\n=> => transferring dockerfile: 37B\n=> [internal] load .dockerignore\n=> => transferring context: 2B\n=> [internal] load metadata for docker.io/library/node:24-alpine\n=> [internal] load build context\n=> => transferring context: 450.43kB\n=> [1/5] FROM docker.io/library/node:24-alpine\n=> CACHED [2/5] WORKDIR /app\n=> CACHED [3/5] COPY package.json package-lock.json ./\n=> CACHED [4/5] RUN npm install\n=> [5/5] COPY . .\n=> exporting to image\n=> => exporting layers\n=> => writing image sha256:91790c87bcb096a83c2bd4eb512bc8b134c757cda0bdee4038187f98148e2eda\n=> => naming to docker.io/library/getting-started\n```\n\nExample:\n```dockerfile\n# syntax=docker/dockerfile:1\nFROM maven AS build\nWORKDIR /app\nCOPY . .\nRUN mvn package\n\nFROM tomcat\nCOPY --from=build /app/target/file.war /usr/local/tomcat/webapps\n```\n\nExample:\n```dockerfile\n# syntax=docker/dockerfile:1\nFROM node:24-alpine AS build\nWORKDIR /app\nCOPY package* ./\nRUN npm install\nCOPY public ./public\nCOPY src ./src\nRUN npm run build\n\nFROM nginx:alpine\nCOPY --from=build /app/build /usr/share/nginx/html\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.977Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":10,"totalLines":126,"estimatedTokens":997}}24{"id":"doc-publishing_and_exposing_ports_docker_docs-58ae6e97","source":"documentation","title":"Publishing and exposing ports | Docker Docs","url":"https://docs.docker.com/get-started/docker-concepts/running-containers/publishing-ports/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```console\n$ docker run -d -p HOST_PORT:CONTAINER_PORT nginx\n```\n\nExample:\n```console\n$ docker run -d -p 8080:80 nginx\n```\n\nExample:\n```console\n$ docker run -d -p 127.0.0.1:8080:80 nginx\n```\n\nExample:\n```yaml\nservices:\n app:\n image: docker/welcome-to-docker\n ports:\n - \"127.0.0.1:8080:80\"\n```\n\nExample:\n```console\n$ docker run -p 80 nginx\n```\n\nExample:\n```console\ndocker ps\nCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES\na527355c9c53 nginx \"/docker-entrypoint.…\" 4 seconds ago Up 3 seconds 0.0.0.0:54772->80/tcp romantic_williamson\n```\n\nExample:\n```console\n$ docker run -P nginx\n```\n\nExample:\n```console\n$ docker run -d -p 8080:80 docker/welcome-to-docker\n```\n\nExample:\n```yaml\nservices:\n app:\n image: docker/welcome-to-docker\n ports:\n - 8080:80\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.977Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":9,"totalLines":58,"estimatedTokens":245}}25{"id":"doc-use_bind_mounts_docker_docs-5f4985b1","source":"documentation","title":"Use bind mounts | Docker Docs","url":"https://docs.docker.com/get-started/workshop/06_bind_mounts/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```console\n$ docker run -it --mount type=bind,src=.,target=/src ubuntu bash\n```\n\nExample:\n```console\n$ docker run -it --mount \"type=bind,src=%cd%,target=/src\" ubuntu bash\n```\n\nExample:\n```console\n$ docker run -it --mount type=bind,src=\"./\",target=/src ubuntu bash\n```\n\nExample:\n```console\n$ docker run -it --mount \"type=bind,src=.,target=/src\" ubuntu bash\n```\n\nExample:\n```console\nroot@ac1237fad8db:/# pwd\n/\nroot@ac1237fad8db:/# ls\nbin dev home media opt root sbin srv tmp var\nboot etc lib mnt proc run src sys usr\n```\n\nExample:\n```console\nroot@ac1237fad8db:/# cd src\nroot@ac1237fad8db:/src# ls\nDockerfile node_modules package.json package-lock.json spec src\n```\n\nExample:\n```console\nroot@ac1237fad8db:/src# touch myfile.txt\nroot@ac1237fad8db:/src# ls\nDockerfile myfile.txt node_modules package.json package-lock.json spec src\n```\n\nExample:\n```text\n├── getting-started-app/\n│ ├── Dockerfile\n│ ├── myfile.txt\n│ ├── node_modules/\n│ ├── package.json\n│ ├── package-lock.json\n│ ├── spec/\n│ └── src/\n```\n\nExample:\n```console\nroot@ac1237fad8db:/src# ls\nDockerfile node_modules package.json package-lock.json spec src\n```\n\nExample:\n```console\n$ docker run -dp 127.0.0.1:3000:3000 \\\n -w /app --mount type=bind,src=.,target=/app \\\n node:24-alpine \\\n sh -c \"npm install && npm run dev\"\n```\n\nExample:\n```console\n$ docker logs -f <container-id>\nnodemon -L src/index.js\n[nodemon] 2.0.20\n[nodemon] to restart at any time, enter `rs`\n[nodemon] watching path(s): *.*\n[nodemon] watching extensions: js,mjs,json\n[nodemon] starting `node src/index.js`\nUsing sqlite database at /etc/todos/todo.db\nListening on port 3000\n```\n\nExample:\n```powershell\n$ docker run -dp 127.0.0.1:3000:3000 `\n -w /app --mount \"type=bind,src=.,target=/app\" `\n node:24-alpine `\n sh -c \"npm install && npm run dev\"\n```\n\nExample:\n```console\n$ docker run -dp 127.0.0.1:3000:3000 ^\n -w /app --mount \"type=bind,src=%cd%,target=/app\" ^\n node:24-alpine ^\n sh -c \"npm install && npm run dev\"\n```\n\nExample:\n```console\n$ docker run -dp 127.0.0.1:3000:3000 \\\n -w //app --mount type=bind,src=\"./\",target=/app \\\n node:24-alpine \\\n sh -c \"npm install && npm run dev\"\n```\n\nExample:\n```console\nnodemon -L src/index.js\n[nodemon] 2.0.20\n[nodemon] to restart at any time, enter `rs`\n[nodemon] watching path(s): *.*\n[nodemon] watching extensions: js,mjs,json\n[nodemon] starting `node src/index.js`\nUsing sqlite database at /etc/todos/todo.db\nListening on port 3000\n```\n\nExample:\n```diff\n- {submitting ? 'Adding...' : 'Add Item'}\n+ {submitting ? 'Adding...' : 'Add'}\n```\n\nExample:\n```console\n$ docker build -t getting-started .\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.980Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":17,"totalLines":132,"estimatedTokens":689}}26{"id":"doc-sharing_local_files_with_containers_docker_docs-7736b314","source":"documentation","title":"Sharing local files with containers | Docker Docs","url":"https://docs.docker.com/get-started/docker-concepts/running-containers/sharing-local-files/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```console\n$ docker run -v /HOST/PATH:/CONTAINER/PATH -it nginx\n```\n\nExample:\n```console\n$ docker run --mount type=bind,source=/HOST/PATH,target=/CONTAINER/PATH,readonly nginx\n```\n\nExample:\n```console\n$ docker run -v HOST-DIRECTORY:/CONTAINER-DIRECTORY:rw nginx\n```\n\nExample:\n```console\n$ docker run -d -p 8080:80 --name my_site httpd:2.4\n```\n\nExample:\n```console\n$ curl localhost:8080\n```\n\nExample:\n```console\n$ mkdir public_html\n```\n\nExample:\n```html\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<title> My Website with a Whale & Docker!</title>\n</head>\n<body>\n<h1>Whalecome!!</h1>\n<p>Look! There's a friendly whale greeting you!</p>\n<pre id=\"docker-art\">\n ## .\n ## ## ## ==\n ## ## ## ## ## ===\n /\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\\___/ ===\n{ / ===-\n\\______ O __/\n\\ \\ __/\n \\____\\_______/\n\nHello from Docker!\n</pre>\n</body>\n</html>\n```\n\nExample:\n```console\n$ docker run -d --name my_site -p 8080:80 -v .:/usr/local/apache2/htdocs/ httpd:2.4\n```\n\nExample:\n```console\n$ docker run -d --name my_site -p 8080:80 --mount type=bind,source=./,target=/usr/local/apache2/htdocs/ httpd:2.4\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.981Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":9,"totalLines":70,"estimatedTokens":316}}27{"id":"doc-what_next_after_the_docker_workshop_docker_docs-373bf53a","source":"documentation","title":"What next after the Docker workshop | Docker Docs","url":"https://docs.docker.com/get-started/workshop/10_what_next/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.981Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":0,"totalLines":3,"estimatedTokens":26}}28{"id":"doc-persisting_container_data_docker_docs-e0901897","source":"documentation","title":"Persisting container data | Docker Docs","url":"https://docs.docker.com/get-started/docker-concepts/running-containers/persisting-container-data/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```console\n$ docker volume create log-data\n```\n\nExample:\n```console\n$ docker run -d -p 80:80 -v log-data:/logs docker/welcome-to-docker\n```\n\nExample:\n```console\n$ docker run --name=db -e POSTGRES_PASSWORD=secret -d -v postgres_data:/var/lib/postgresql postgres:18\n```\n\nExample:\n```console\n$ docker exec -ti db psql -U postgres\n```\n\nExample:\n```text\nCREATE TABLE tasks (\n id SERIAL PRIMARY KEY,\n description VARCHAR(100)\n);\nINSERT INTO tasks (description) VALUES ('Finish work'), ('Have fun');\n```\n\nExample:\n```text\nSELECT * FROM tasks;\n```\n\nExample:\n```text\nid | description\n----+-------------\n 1 | Finish work\n 2 | Have fun\n(2 rows)\n```\n\nExample:\n```console\n$ docker stop db\n$ docker rm db\n```\n\nExample:\n```console\n$ docker run --name=new-db -d -v postgres_data:/var/lib/postgresql postgres:18\n```\n\nExample:\n```console\n$ docker exec -ti new-db psql -U postgres -c \"SELECT * FROM tasks\"\n```\n\nExample:\n```console\n$ docker rm -f new-db\n```\n\nExample:\n```console\n$ docker volume rm postgres_data\n```\n\nExample:\n```console\n$ docker volume prune\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.981Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":13,"totalLines":77,"estimatedTokens":291}}29{"id":"doc-multi_container_apps_docker_docs-76192fb2","source":"documentation","title":"Multi container apps | Docker Docs","url":"https://docs.docker.com/get-started/workshop/07_multi_container/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```console\n$ docker network create todo-app\n```\n\nExample:\n```console\n$ docker run -d \\\n --network todo-app --network-alias mysql \\\n -v todo-mysql-data:/var/lib/mysql \\\n -e MYSQL_ROOT_PASSWORD=secret \\\n -e MYSQL_DATABASE=todos \\\n mysql:8.0\n```\n\nExample:\n```powershell\n$ docker run -d `\n --network todo-app --network-alias mysql `\n -v todo-mysql-data:/var/lib/mysql `\n -e MYSQL_ROOT_PASSWORD=secret `\n -e MYSQL_DATABASE=todos `\n mysql:8.0\n```\n\nExample:\n```console\n$ docker run -d ^\n --network todo-app --network-alias mysql ^\n -v todo-mysql-data:/var/lib/mysql ^\n -e MYSQL_ROOT_PASSWORD=secret ^\n -e MYSQL_DATABASE=todos ^\n mysql:8.0\n```\n\nExample:\n```console\n$ docker exec -it <mysql-container-id> mysql -u root -p\n```\n\nExample:\n```console\nmysql> SHOW DATABASES;\n```\n\nExample:\n```plaintext\n+--------------------+\n| Database |\n+--------------------+\n| information_schema |\n| mysql |\n| performance_schema |\n| sys |\n| todos |\n+--------------------+\n5 rows in set (0.00 sec)\n```\n\nExample:\n```console\nmysql> exit\n```\n\nExample:\n```console\n$ docker run -it --network todo-app nicolaka/netshoot\n```\n\nExample:\n```console\n$ dig mysql\n```\n\nExample:\n```text\n; <<>> DiG 9.18.8 <<>> mysql\n;; global options: +cmd\n;; Got answer:\n;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32162\n;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0\n\n;; QUESTION SECTION:\n;mysql.\t\t\t\tIN\tA\n\n;; ANSWER SECTION:\nmysql.\t\t\t600\tIN\tA\t172.23.0.2\n\n;; Query time: 0 msec\n;; SERVER: 127.0.0.11#53(127.0.0.11)\n;; WHEN: Tue Oct 01 23:47:24 UTC 2019\n;; MSG SIZE rcvd: 44\n```\n\nExample:\n```console\n$ docker run -dp 127.0.0.1:3000:3000 \\\n -w /app -v \".:/app\" \\\n --network todo-app \\\n -e MYSQL_HOST=mysql \\\n -e MYSQL_USER=root \\\n -e MYSQL_PASSWORD=secret \\\n -e MYSQL_DB=todos \\\n node:24-alpine \\\n sh -c \"npm install && npm run dev\"\n```\n\nExample:\n```powershell\n$ docker run -dp 127.0.0.1:3000:3000 `\n -w /app -v \".:/app\" `\n --network todo-app `\n -e MYSQL_HOST=mysql `\n -e MYSQL_USER=root `\n -e MYSQL_PASSWORD=secret `\n -e MYSQL_DB=todos `\n node:24-alpine `\n sh -c \"npm install && npm run dev\"\n```\n\nExample:\n```console\n$ docker run -dp 127.0.0.1:3000:3000 ^\n -w /app -v \"%cd%:/app\" ^\n --network todo-app ^\n -e MYSQL_HOST=mysql ^\n -e MYSQL_USER=root ^\n -e MYSQL_PASSWORD=secret ^\n -e MYSQL_DB=todos ^\n node:24-alpine ^\n sh -c \"npm install && npm run dev\"\n```\n\nExample:\n```console\n$ docker run -dp 127.0.0.1:3000:3000 \\\n -w //app -v \"/.:/app\" \\\n --network todo-app \\\n -e MYSQL_HOST=mysql \\\n -e MYSQL_USER=root \\\n -e MYSQL_PASSWORD=secret \\\n -e MYSQL_DB=todos \\\n node:24-alpine \\\n sh -c \"npm install && npm run dev\"\n```\n\nExample:\n```console\n[nodemon] 3.1.11\n[nodemon] to restart at any time, enter `rs`\n[nodemon] watching path(s): *.*\n[nodemon] watching extensions: js,mjs,cjs,json\n[nodemon] starting `node src/index.js`\nWaiting for mysql:3306.\nConnected!\nConnected to mysql db at host mysql\nListening on port 3000\n```\n\nExample:\n```console\n$ docker exec -it <mysql-container-id> mysql -p todos\n```\n\nExample:\n```console\nmysql> select * from todo_items;\n+--------------------------------------+--------------------+-----------+\n| id | name | completed |\n+--------------------------------------+--------------------+-----------+\n| c906ff08-60e6-44e6-8f49-ed56a0853e85 | Do amazing things! | 0 |\n| 2912a79e-8486-4bc3-a4c5-460793a575ab | Be awesome! | 0 |\n+--------------------------------------+--------------------+-----------+\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.982Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":18,"totalLines":178,"estimatedTokens":927}}30{"id":"doc-use_docker_compose_docker_docs-faff404d","source":"documentation","title":"Use Docker Compose | Docker Docs","url":"https://docs.docker.com/get-started/workshop/08_using_compose/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```text\n├── getting-started-app/\n│ ├── Dockerfile\n│ ├── compose.yaml\n│ ├── node_modules/\n│ ├── package.json\n│ ├── package-lock.json\n│ ├── spec/\n│ └── src/\n```\n\nExample:\n```console\n$ docker run -dp 127.0.0.1:3000:3000 \\\n -w /app -v \".:/app\" \\\n --network todo-app \\\n -e MYSQL_HOST=mysql \\\n -e MYSQL_USER=root \\\n -e MYSQL_PASSWORD=secret \\\n -e MYSQL_DB=todos \\\n node:24-alpine \\\n sh -c \"npm install && npm run dev\"\n```\n\nExample:\n```yaml\nservices:\n app:\n image: node:24-alpine\n```\n\nExample:\n```yaml\nservices:\n app:\n image: node:24-alpine\n command: sh -c \"npm install && npm run dev\"\n```\n\nExample:\n```yaml\nservices:\n app:\n image: node:24-alpine\n command: sh -c \"npm install && npm run dev\"\n ports:\n - 127.0.0.1:3000:3000\n```\n\nExample:\n```yaml\nservices:\n app:\n image: node:24-alpine\n command: sh -c \"npm install && npm run dev\"\n ports:\n - 127.0.0.1:3000:3000\n working_dir: /app\n volumes:\n - ./:/app\n```\n\nExample:\n```yaml\nservices:\n app:\n image: node:24-alpine\n command: sh -c \"npm install && npm run dev\"\n ports:\n - 127.0.0.1:3000:3000\n working_dir: /app\n volumes:\n - ./:/app\n environment:\n MYSQL_HOST: mysql\n MYSQL_USER: root\n MYSQL_PASSWORD: secret\n MYSQL_DB: todos\n```\n\nExample:\n```console\n$ docker run -d \\\n --network todo-app --network-alias mysql \\\n -v todo-mysql-data:/var/lib/mysql \\\n -e MYSQL_ROOT_PASSWORD=secret \\\n -e MYSQL_DATABASE=todos \\\n mysql:8.0\n```\n\nExample:\n```yaml\nservices:\n app:\n # The app service definition\n mysql:\n image: mysql:8.0\n```\n\nExample:\n```yaml\nservices:\n app:\n # The app service definition\n mysql:\n image: mysql:8.0\n volumes:\n - todo-mysql-data:/var/lib/mysql\n\nvolumes:\n todo-mysql-data:\n```\n\nExample:\n```yaml\nservices:\n app:\n # The app service definition\n mysql:\n image: mysql:8.0\n volumes:\n - todo-mysql-data:/var/lib/mysql\n environment:\n MYSQL_ROOT_PASSWORD: secret\n MYSQL_DATABASE: todos\n\nvolumes:\n todo-mysql-data:\n```\n\nExample:\n```yaml\nservices:\n app:\n image: node:24-alpine\n command: sh -c \"npm install && npm run dev\"\n ports:\n - 127.0.0.1:3000:3000\n working_dir: /app\n volumes:\n - ./:/app\n environment:\n MYSQL_HOST: mysql\n MYSQL_USER: root\n MYSQL_PASSWORD: secret\n MYSQL_DB: todos\n\n mysql:\n image: mysql:8.0\n volumes:\n - todo-mysql-data:/var/lib/mysql\n environment:\n MYSQL_ROOT_PASSWORD: secret\n MYSQL_DATABASE: todos\n\nvolumes:\n todo-mysql-data:\n```\n\nExample:\n```console\n$ docker compose up -d\n```\n\nExample:\n```plaintext\nCreating network \"app_default\" with the default driver\nCreating volume \"app_todo-mysql-data\" with default driver\nCreating app_app_1 ... done\nCreating app_mysql_1 ... done\n```\n\nExample:\n```plaintext\nmysql_1 | 2019-10-03T03:07:16.083639Z 0 [Note] mysqld: ready for connections.\nmysql_1 | Version: '8.0.31' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server (GPL)\napp_1 | Connected to mysql db at host mysql\napp_1 | Listening on port 3000\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.982Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":15,"totalLines":184,"estimatedTokens":797}}31{"id":"doc-update_the_application_docker_docs-43970730","source":"documentation","title":"Update the application | Docker Docs","url":"https://docs.docker.com/get-started/workshop/03_updating_app/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```diff\n- <p className=\"text-center\">No items yet! Add one above!</p>\n+ <p className=\"text-center\">You have no todo items yet! Add one above!</p>\n```\n\nExample:\n```console\n$ docker build -t getting-started .\n```\n\nExample:\n```console\n$ docker run -dp 127.0.0.1:3000:3000 getting-started\n```\n\nExample:\n```console\ndocker: Error response from daemon: driver failed programming external connectivity on endpoint laughing_burnell \n(bb242b2ca4d67eba76e79474fb36bb5125708ebdabd7f45c8eaf16caaabde9dd): Bind for 127.0.0.1:3000 failed: port is already allocated.\n```\n\nExample:\n```console\n$ docker ps\n```\n\nExample:\n```console\n$ docker stop <the-container-id>\n```\n\nExample:\n```console\n$ docker rm <the-container-id>\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.983Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":7,"totalLines":40,"estimatedTokens":205}}32{"id":"doc-multi_container_applications_docker_docs-1c85555b","source":"documentation","title":"Multi-container applications | Docker Docs","url":"https://docs.docker.com/get-started/docker-concepts/running-containers/multi-container-applications/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```console\n$ git clone https://github.com/dockersamples/nginx-node-redis\n```\n\nExample:\n```console\n$ cd nginx-node-redis\n```\n\nExample:\n```console\n$ cd nginx-node-redis-main\n```\n\nExample:\n```console\n$ docker build -t nginx .\n```\n\nExample:\n```console\n$ docker build -t web .\n```\n\nExample:\n```console\n$ docker network create sample-app\n```\n\nExample:\n```console\n$ docker run -d --name redis --network sample-app --network-alias redis redis\n```\n\nExample:\n```console\n$ docker run -d --name web1 -h web1 --network sample-app --network-alias web1 web\n```\n\nExample:\n```console\n$ docker run -d --name web2 -h web2 --network sample-app --network-alias web2 web\n```\n\nExample:\n```console\n$ docker run -d --name nginx --network sample-app -p 80:80 nginx\n```\n\nExample:\n```console\n$ docker ps\n```\n\nExample:\n```text\nCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES\n2cf7c484c144 nginx \"/docker-entrypoint.…\" 9 seconds ago Up 8 seconds 0.0.0.0:80->80/tcp nginx\n7a070c9ffeaa web \"docker-entrypoint.s…\" 19 seconds ago Up 18 seconds web2\n6dc6d4e60aaf web \"docker-entrypoint.s…\" 34 seconds ago Up 33 seconds web1\n008e0ecf4f36 redis \"docker-entrypoint.s…\" About a minute ago Up About a minute 6379/tcp redis\n```\n\nExample:\n```console\nweb2: Number of visits is: 9\nweb1: Number of visits is: 10\nweb2: Number of visits is: 11\nweb1: Number of visits is: 12\n```\n\nExample:\n```console\n$ docker compose up -d --build\n```\n\nExample:\n```console\n✔ Network nginx-node-redis_default Created 0.0s\n ✔ Container nginx-node-redis-web2-1 Created 0.1s\n ✔ Container nginx-node-redis-web1-1 Created 0.1s\n ✔ Container nginx-node-redis-redis-1 Created 0.1s\n ✔ Container nginx-node-redis-nginx-1 Created\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.983Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":15,"totalLines":89,"estimatedTokens":593}}33{"id":"doc-educational_resources_docker_docs-57b00d93","source":"documentation","title":"Educational resources | Docker Docs","url":"https://docs.docker.com/get-started/resources/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.983Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":0,"totalLines":3,"estimatedTokens":26}}34{"id":"doc-multi_stage_builds_docker_docs-00309e0b","source":"documentation","title":"Multi-stage builds | Docker Docs","url":"https://docs.docker.com/get-started/docker-concepts/building-images/multi-stage-builds/","text":"Get startedGuidesManualsReference GordonGordon, your AI assistant for Docker docs Search\n\nExample:\n```dockerfile\n# Stage 1: Build Environment\nFROM builder-image AS build-stage \n# Install build tools (e.g., Maven, Gradle)\n# Copy source code\n# Build commands (e.g., compile, package)\n\n# Stage 2: Runtime environment\nFROM runtime-image AS final-stage \n# Copy application artifacts from the build stage (e.g., JAR file)\nCOPY --from=build-stage /path/in/build/stage /path/to/place/in/final/stage\n# Define runtime configuration (e.g., CMD, ENTRYPOINT)\n```\n\nExample:\n```plaintext\nspring-boot-docker\n├── HELP.md\n├── mvnw\n├── mvnw.cmd\n├── pom.xml\n└── src\n ├── main\n │ ├── java\n │ │ └── com\n │ │ └── example\n │ │ └── spring_boot_docker\n │ │ └── SpringBootDockerApplication.java\n │ └── resources\n │ ├── application.properties\n │ ├── static\n │ └── templates\n └── test\n └── java\n └── com\n └── example\n └── spring_boot_docker\n └── SpringBootDockerApplicationTests.java\n\n15 directories, 7 files\n```\n\nExample:\n```java\npackage com.example.spring_boot_docker;\n\nimport org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport org.springframework.web.bind.annotation.RequestMapping;\nimport org.springframework.web.bind.annotation.RestController;\n\n\n@RestController\n@SpringBootApplication\npublic class SpringBootDockerApplication {\n\n @RequestMapping(\"/\")\n public String home() {\n return \"Hello World\";\n }\n\n\tpublic static void main(String[] args) {\n\t\tSpringApplication.run(SpringBootDockerApplication.class, args);\n\t}\n\n}\n```\n\nExample:\n```dockerfile\nFROM eclipse-temurin:21.0.8_9-jdk-jammy\n```\n\nExample:\n```dockerfile\nWORKDIR /app\n```\n\nExample:\n```dockerfile\nCOPY .mvn/ .mvn\nCOPY mvnw pom.xml ./\n```\n\nExample:\n```dockerfile\nRUN ./mvnw dependency:go-offline\n```\n\nExample:\n```dockerfile\nCOPY src ./src\n```\n\nExample:\n```dockerfile\nCMD [\"./mvnw\", \"spring-boot:run\"]\n```\n\nExample:\n```dockerfile\nFROM eclipse-temurin:21.0.8_9-jdk-jammy\nWORKDIR /app\nCOPY .mvn/ .mvn\nCOPY mvnw pom.xml ./\nRUN ./mvnw dependency:go-offline\nCOPY src ./src\nCMD [\"./mvnw\", \"spring-boot:run\"]\n```\n\nExample:\n```console\n$ docker build -t spring-helloworld .\n```\n\nExample:\n```console\n$ docker images\n```\n\nExample:\n```console\nREPOSITORY TAG IMAGE ID CREATED SIZE\nspring-helloworld latest ff708d5ee194 3 minutes ago 880MB\n```\n\nExample:\n```console\n$ docker run -p 8080:8080 spring-helloworld\n```\n\nExample:\n```plaintext\n[INFO] --- spring-boot:3.3.4:run (default-cli) @ spring-boot-docker ---\n[INFO] Attaching agents: []\n\n . ____ _ __ _ _\n /\\\\ / ___'_ __ _ _(_)_ __ __ _ \\ \\ \\ \\\n ( ( )\\___ | '_ | '_| | '_ \\/ _` | \\ \\ \\ \\\n \\\\/ ___)| |_)| | | | | || (_| | ) ) ) )\n ' |____| .__|_| |_|_| |_\\__, | / / / /\n =========|_|==============|___/=/_/_/_/\n\n :: Spring Boot :: (v3.3.4)\n\n2024-09-29T23:54:07.157Z INFO 159 --- [spring-boot-docker] [ main]\nc.e.s.SpringBootDockerApplication : Starting SpringBootDockerApplication using Java\n21.0.2 with PID 159 (/app/target/classes started by root in /app)\n ….\n```\n\nExample:\n```console\n$ curl localhost:8080\nHello World\n```\n\nExample:\n```dockerfile\nFROM eclipse-temurin:21.0.8_9-jdk-jammy AS builder\nWORKDIR /opt/app\nCOPY .mvn/ .mvn\nCOPY mvnw pom.xml ./\nRUN ./mvnw dependency:go-offline\nCOPY ./src ./src\nRUN ./mvnw clean install\n\nFROM eclipse-temurin:21.0.8_9-jre-jammy AS final\nWORKDIR /opt/app\nEXPOSE 8080\nCOPY --from=builder /opt/app/target/*.jar /opt/app/*.jar\nENTRYPOINT [\"java\", \"-jar\", \"/opt/app/*.jar\"]\n```\n\nExample:\n```console\n$ docker build -t spring-helloworld-builder .\n```\n\nExample:\n```console\nspring-helloworld-builder latest c5c76cb815c0 24 minutes ago 428MB\nspring-helloworld latest ff708d5ee194 About an hour ago 880MB\n```\n\n<|endofdoc|>","metadata":{"transformedAt":"2026-08-18T15:16:59.984Z","totalSectionsIncluded":1,"totalCodeBlocksIncluded":19,"totalLines":189,"estimatedTokens":1006}}35 