mirror of https://github.com/docker/docs.git
Merge pull request #21328 from dvdksn/fix-basics-concepts-typo
chore: fix typos and formatting issues in 'what is an image'
This commit is contained in:
commit
7b1deedb3d
|
@ -3,19 +3,17 @@ title: What is an image?
|
||||||
weight: 20
|
weight: 20
|
||||||
keywords: concepts, build, images, container, docker desktop
|
keywords: concepts, build, images, container, docker desktop
|
||||||
description: What is an image
|
description: What is an image
|
||||||
aliases:
|
aliases:
|
||||||
- /guides/docker-concepts/the-basics/what-is-an-image/
|
- /guides/docker-concepts/the-basics/what-is-an-image/
|
||||||
---
|
---
|
||||||
|
|
||||||
{{< youtube-embed NyvT9REqLe4 >}}
|
{{< youtube-embed NyvT9REqLe4 >}}
|
||||||
|
|
||||||
## Explanation
|
## Explanation
|
||||||
|
|
||||||
Seeing a [container](./what-is-a-container) is an isolated process, where does it get its files and configuration? How do you share those environments?
|
Seeing a [container](./what-is-a-container.md) is an isolated process, where does it get its files and configuration? How do you share those environments?
|
||||||
|
|
||||||
That's where container images come in!
|
That's where container images come in. A container image is a standardized package that includes all of the files, binaries, libraries, and configurations to run a container.
|
||||||
|
|
||||||
A container image is a standardized package that includes all of the files, binaries, libraries, and configurations to run a container.
|
|
||||||
|
|
||||||
For a [PostgreSQL](https://hub.docker.com/_/postgres) image, that image will package the database binaries, config files, and other dependencies. For a Python web app, it'll include the Python runtime, your app code, and all of its dependencies.
|
For a [PostgreSQL](https://hub.docker.com/_/postgres) image, that image will package the database binaries, config files, and other dependencies. For a Python web app, it'll include the Python runtime, your app code, and all of its dependencies.
|
||||||
|
|
||||||
|
@ -23,7 +21,7 @@ There are two important principles of images:
|
||||||
|
|
||||||
1. Images are immutable. Once an image is created, it can't be modified. You can only make a new image or add changes on top of it.
|
1. Images are immutable. Once an image is created, it can't be modified. You can only make a new image or add changes on top of it.
|
||||||
|
|
||||||
2. Container images are composed of layers. Each layer represented a set of file system changes that add, remove, or modify files.
|
2. Container images are composed of layers. Each layer represents a set of file system changes that add, remove, or modify files.
|
||||||
|
|
||||||
These two principles let you to extend or add to existing images. For example, if you are building a Python app, you can start from the [Python image](https://hub.docker.com/_/python) and add additional layers to install your app's dependencies and add your code. This lets you focus on your app, rather than Python itself.
|
These two principles let you to extend or add to existing images. For example, if you are building a Python app, you can start from the [Python image](https://hub.docker.com/_/python) and add additional layers to install your app's dependencies and add your code. This lets you focus on your app, rather than Python itself.
|
||||||
|
|
||||||
|
@ -50,19 +48,18 @@ In this hands-on, you will learn how to search and pull a container image using
|
||||||
|
|
||||||
1. Open the Docker Desktop Dashboard and select the **Images** view in the left-hand navigation menu.
|
1. Open the Docker Desktop Dashboard and select the **Images** view in the left-hand navigation menu.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
2. Select the **Search images to run** button. If you don't see it, select the _global search bar_ at the top of the screen.
|
2. Select the **Search images to run** button. If you don't see it, select the _global search bar_ at the top of the screen.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
3. In the **Search** field, enter "welcome-to-docker". Once the search has completed, select the `docker/welcome-to-docker` image.
|
3. In the **Search** field, enter "welcome-to-docker". Once the search has completed, select the `docker/welcome-to-docker` image.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
4. Select **Pull** to download the image.
|
4. Select **Pull** to download the image.
|
||||||
|
|
||||||
|
|
||||||
### Learn about the image
|
### Learn about the image
|
||||||
|
|
||||||
Once you have an image downloaded, you can learn quite a few details about the image either through the GUI or the CLI.
|
Once you have an image downloaded, you can learn quite a few details about the image either through the GUI or the CLI.
|
||||||
|
@ -71,13 +68,11 @@ Once you have an image downloaded, you can learn quite a few details about the i
|
||||||
|
|
||||||
2. Select the **docker/welcome-to-docker** image to open details about the image.
|
2. Select the **docker/welcome-to-docker** image to open details about the image.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
3. The image details page presents you with information regarding the layers of the image, the packages and libraries installed in the image, and any discovered vulnerabilities.
|
3. The image details page presents you with information regarding the layers of the image, the packages and libraries installed in the image, and any discovered vulnerabilities.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{{< /tab >}}
|
{{< /tab >}}
|
||||||
|
|
||||||
|
@ -87,103 +82,101 @@ Follow the instructions to search and pull a Docker image using CLI to view its
|
||||||
|
|
||||||
### Search for and download an image
|
### Search for and download an image
|
||||||
|
|
||||||
1. Open a terminal and search for images using the [`docker search`](/reference/cli/docker/search/) command:
|
1. Open a terminal and search for images using the [`docker search`](/reference/cli/docker/search.md) command:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
docker search docker/welcome-to-docker
|
docker search docker/welcome-to-docker
|
||||||
```
|
```
|
||||||
|
|
||||||
You will see output like the following:
|
You will see output like the following:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
NAME DESCRIPTION STARS OFFICIAL
|
NAME DESCRIPTION STARS OFFICIAL
|
||||||
docker/welcome-to-docker Docker image for new users getting started w… 20
|
docker/welcome-to-docker Docker image for new users getting started w… 20
|
||||||
```
|
```
|
||||||
|
|
||||||
This output shows you information about relevant images available on Docker Hub.
|
This output shows you information about relevant images available on Docker Hub.
|
||||||
|
|
||||||
2. Pull the image using the [`docker pull`](/reference/cli/docker/image/pull/) command.
|
2. Pull the image using the [`docker pull`](/reference/cli/docker/image/pull.md) command.
|
||||||
|
|
||||||
```console
|
```console
|
||||||
docker pull docker/welcome-to-docker
|
docker pull docker/welcome-to-docker
|
||||||
```
|
```
|
||||||
|
|
||||||
You will see output like the following:
|
You will see output like the following:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
Using default tag: latest
|
Using default tag: latest
|
||||||
latest: Pulling from docker/welcome-to-docker
|
latest: Pulling from docker/welcome-to-docker
|
||||||
579b34f0a95b: Download complete
|
579b34f0a95b: Download complete
|
||||||
d11a451e6399: Download complete
|
d11a451e6399: Download complete
|
||||||
1c2214f9937c: Download complete
|
1c2214f9937c: Download complete
|
||||||
b42a2f288f4d: Download complete
|
b42a2f288f4d: Download complete
|
||||||
54b19e12c655: Download complete
|
54b19e12c655: Download complete
|
||||||
1fb28e078240: Download complete
|
1fb28e078240: Download complete
|
||||||
94be7e780731: Download complete
|
94be7e780731: Download complete
|
||||||
89578ce72c35: Download complete
|
89578ce72c35: Download complete
|
||||||
Digest: sha256:eedaff45e3c78538087bdd9dc7afafac7e110061bbdd836af4104b10f10ab693
|
Digest: sha256:eedaff45e3c78538087bdd9dc7afafac7e110061bbdd836af4104b10f10ab693
|
||||||
Status: Downloaded newer image for docker/welcome-to-docker:latest
|
Status: Downloaded newer image for docker/welcome-to-docker:latest
|
||||||
docker.io/docker/welcome-to-docker:latest
|
docker.io/docker/welcome-to-docker:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
Each of line represents a different downloaded layer of the image. Remember that each layer is a set of filesystem changes and provides functionality of the image.
|
|
||||||
|
|
||||||
|
Each of line represents a different downloaded layer of the image. Remember that each layer is a set of filesystem changes and provides functionality of the image.
|
||||||
|
|
||||||
### Learn about the image
|
### Learn about the image
|
||||||
|
|
||||||
1. List your downloaded images using the [`docker image ls`](/reference/cli/docker/image/ls/) command:
|
1. List your downloaded images using the [`docker image ls`](/reference/cli/docker/image/ls.md) command:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
docker image ls
|
docker image ls
|
||||||
```
|
```
|
||||||
|
|
||||||
You will see output like the following:
|
You will see output like the following:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
REPOSITORY TAG IMAGE ID CREATED SIZE
|
REPOSITORY TAG IMAGE ID CREATED SIZE
|
||||||
docker/welcome-to-docker latest eedaff45e3c7 4 months ago 29.7MB
|
docker/welcome-to-docker latest eedaff45e3c7 4 months ago 29.7MB
|
||||||
```
|
```
|
||||||
|
|
||||||
The command shows a list of Docker images currently available on your system. The `docker/welcome-to-docker` has a total size of approximately 29.7MB.
|
The command shows a list of Docker images currently available on your system. The `docker/welcome-to-docker` has a total size of approximately 29.7MB.
|
||||||
|
|
||||||
> **Image size**
|
> **Image size**
|
||||||
>
|
>
|
||||||
> The image size represented here reflects the uncompressed size of the image, not the download size of the layers.
|
> The image size represented here reflects the uncompressed size of the image, not the download size of the layers.
|
||||||
|
|
||||||
2. List the image's layers using the [`docker image history`](/reference/cli/docker/image/history/) command:
|
2. List the image's layers using the [`docker image history`](/reference/cli/docker/image/history.md) command:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
docker image history docker/welcome-to-docker
|
docker image history docker/welcome-to-docker
|
||||||
```
|
```
|
||||||
|
|
||||||
You will see output like the following:
|
You will see output like the following:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
IMAGE CREATED CREATED BY SIZE COMMENT
|
IMAGE CREATED CREATED BY SIZE COMMENT
|
||||||
648f93a1ba7d 4 months ago COPY /app/build /usr/share/nginx/html # buil… 1.6MB buildkit.dockerfile.v0
|
648f93a1ba7d 4 months ago COPY /app/build /usr/share/nginx/html # buil… 1.6MB buildkit.dockerfile.v0
|
||||||
<missing> 5 months ago /bin/sh -c #(nop) CMD ["nginx" "-g" "daemon… 0B
|
<missing> 5 months ago /bin/sh -c #(nop) CMD ["nginx" "-g" "daemon… 0B
|
||||||
<missing> 5 months ago /bin/sh -c #(nop) STOPSIGNAL SIGQUIT 0B
|
<missing> 5 months ago /bin/sh -c #(nop) STOPSIGNAL SIGQUIT 0B
|
||||||
<missing> 5 months ago /bin/sh -c #(nop) EXPOSE 80 0B
|
<missing> 5 months ago /bin/sh -c #(nop) EXPOSE 80 0B
|
||||||
<missing> 5 months ago /bin/sh -c #(nop) ENTRYPOINT ["/docker-entr… 0B
|
<missing> 5 months ago /bin/sh -c #(nop) ENTRYPOINT ["/docker-entr… 0B
|
||||||
<missing> 5 months ago /bin/sh -c #(nop) COPY file:9e3b2b63db9f8fc7… 4.62kB
|
<missing> 5 months ago /bin/sh -c #(nop) COPY file:9e3b2b63db9f8fc7… 4.62kB
|
||||||
<missing> 5 months ago /bin/sh -c #(nop) COPY file:57846632accc8975… 3.02kB
|
<missing> 5 months ago /bin/sh -c #(nop) COPY file:57846632accc8975… 3.02kB
|
||||||
<missing> 5 months ago /bin/sh -c #(nop) COPY file:3b1b9915b7dd898a… 298B
|
<missing> 5 months ago /bin/sh -c #(nop) COPY file:3b1b9915b7dd898a… 298B
|
||||||
<missing> 5 months ago /bin/sh -c #(nop) COPY file:caec368f5a54f70a… 2.12kB
|
<missing> 5 months ago /bin/sh -c #(nop) COPY file:caec368f5a54f70a… 2.12kB
|
||||||
<missing> 5 months ago /bin/sh -c #(nop) COPY file:01e75c6dd0ce317d… 1.62kB
|
<missing> 5 months ago /bin/sh -c #(nop) COPY file:01e75c6dd0ce317d… 1.62kB
|
||||||
<missing> 5 months ago /bin/sh -c set -x && addgroup -g 101 -S … 9.7MB
|
<missing> 5 months ago /bin/sh -c set -x && addgroup -g 101 -S … 9.7MB
|
||||||
<missing> 5 months ago /bin/sh -c #(nop) ENV PKG_RELEASE=1 0B
|
<missing> 5 months ago /bin/sh -c #(nop) ENV PKG_RELEASE=1 0B
|
||||||
<missing> 5 months ago /bin/sh -c #(nop) ENV NGINX_VERSION=1.25.3 0B
|
<missing> 5 months ago /bin/sh -c #(nop) ENV NGINX_VERSION=1.25.3 0B
|
||||||
<missing> 5 months ago /bin/sh -c #(nop) LABEL maintainer=NGINX Do… 0B
|
<missing> 5 months ago /bin/sh -c #(nop) LABEL maintainer=NGINX Do… 0B
|
||||||
<missing> 5 months ago /bin/sh -c #(nop) CMD ["/bin/sh"] 0B
|
<missing> 5 months ago /bin/sh -c #(nop) CMD ["/bin/sh"] 0B
|
||||||
<missing> 5 months ago /bin/sh -c #(nop) ADD file:ff3112828967e8004… 7.66MB
|
<missing> 5 months ago /bin/sh -c #(nop) ADD file:ff3112828967e8004… 7.66MB
|
||||||
```
|
```
|
||||||
|
|
||||||
This output shows you all of the layers, their sizes, and the command used to create the layer.
|
This output shows you all of the layers, their sizes, and the command used to create the layer.
|
||||||
|
|
||||||
> **Viewing the full command**
|
|
||||||
>
|
|
||||||
> If you add the `--no-trunc` flag to the command, you will see the full command. Note that, since the output is in a table-like format, longer commands will cause the output to be very difficult to navigate.
|
|
||||||
|
|
||||||
|
> **Viewing the full command**
|
||||||
|
>
|
||||||
|
> If you add the `--no-trunc` flag to the command, you will see the full command. Note that, since the output is in a table-like format, longer commands will cause the output to be very difficult to navigate.
|
||||||
|
|
||||||
{{< /tab >}}
|
{{< /tab >}}
|
||||||
{{< /tabs >}}
|
{{< /tabs >}}
|
||||||
|
@ -194,12 +187,12 @@ In this walkthrough, you searched and pulled a Docker image. In addition to pull
|
||||||
|
|
||||||
The following resources will help you learn more about exploring, finding, and building images:
|
The following resources will help you learn more about exploring, finding, and building images:
|
||||||
|
|
||||||
- [Docker Trusted Content](/trusted-content/)
|
- [Docker Trusted Content](/manuals/trusted-content/_index.md)
|
||||||
- [Docker Official Images docs](/trusted-content/official-images/)
|
- [Docker Official Images docs](/manuals/trusted-content/official-images/_index.md)
|
||||||
- [Docker Verified Publisher docs](/trusted-content/dvp-program/)
|
- [Docker Verified Publisher docs](/manuals/trusted-content/dvp-program.md)
|
||||||
- [Docker-Sponsored Open Source Program docs](/trusted-content/dsos-program/)
|
- [Docker-Sponsored Open Source Program docs](/manuals/trusted-content/dsos-program.md)
|
||||||
- [Explore the Image view in Docker Desktop](/desktop/use-desktop/images/)
|
- [Explore the Image view in Docker Desktop](/manuals/desktop/use-desktop/images.md)
|
||||||
- [Packaging your software](/build/building/packaging/)
|
- [Docker Build overview](/manuals/build/concepts/overview.md)
|
||||||
- [Docker Hub](https://hub.docker.com)
|
- [Docker Hub](https://hub.docker.com)
|
||||||
|
|
||||||
## Next steps
|
## Next steps
|
||||||
|
|
Loading…
Reference in New Issue