经过测试的基础架构
平台 | 实例数 | 阅读时间 |
---|---|---|
Play with Docker | 1 | 5 分钟 |
先决条件
运行Hello World示例
$ docker run hello-world
解释
此图像是有效使用划痕图像的典型示例。请参阅 https://github.com/docker-library/hello-world 中的 hello.c,了解此图像中包含的 hello 二进制文件的源代码。
那么这里发生了什么呢?我们调用了 docker 运行命令,该命令负责启动容器。
参数 hello-world 是某人在 dockerhub 上为我们创建的图像的名称。它将首先在本地搜索“你好世界”图像,然后在Dockerhub中搜索。
下载映像后,Docker 会将映像转换为正在运行的容器并执行它。
您知道吗?
- Hello World Docker映像的大小仅为 1.84 KB。
[node1] (local) root@192.168.0.18 ~ $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest 4ab4c602aa5e 6 weeks ago 1.84kB
- 运行命令时,它不显示任何正在运行的容器。原因 – 它被执行一次并立即退出。
docker ps
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- 您可以使用命令来检查此特定 Docker 映像。
docker inspect <imagename>
$ docker inspect 4ab [ { "Id": "sha256:4ab4c602aa5eed5528a6620ff18a1dc4faef0e1ab3a5eddeddb410714478c67f", "RepoTags": [ "hello-world:latest" ], "RepoDigests": [ "hello-world@sha256:0add3ace90ecb4adbf7777e9aacf18357296e799f81cabc9fde470971e499788" ], "Parent": "", "Comment": "", "Created": "2018-09-07T19:25:39.809797627Z", "Container": "15c5544a385127276a51553acb81ed24a9429f9f61d6844db1fa34f46348e420", "ContainerConfig": { "Hostname": "15c5544a3851", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ], "Cmd": [ "/bin/sh", "-c", "#(nop) ", "CMD [\"/hello\"]" ], "ArgsEscaped": true, "Image": "sha256:9a5813f1116c2426ead0a44bbec252bfc5c3d445402cc1442ce9194fc1397027", "Volumes": null, "WorkingDir": "", "Entrypoint": null, "OnBuild": null, "Labels": {} }, "DockerVersion": "17.06.2-ce", "Author": "", "Config": { "Hostname": "", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ], "Cmd": [ "/hello" ], "ArgsEscaped": true, "Image": "sha256:9a5813f1116c2426ead0a44bbec252bfc5c3d445402cc1442ce9194fc1397027", "Volumes": null, "WorkingDir": "", "Entrypoint": null, "OnBuild": null, "Labels": null }, "Architecture": "amd64", "Os": "linux", "Size": 1840, "VirtualSize": 1840, "GraphDriver": { "Data": { "MergedDir": "/var/lib/docker/overlay2/e494ae30abc49ad403ef5c2a32bcb894629ea4da6d4d226fbca70d27ed9a74d8/merged", "UpperDir": "/var/lib/docker/overlay2/e494ae30abc49ad403ef5c2a32bcb894629ea4da6d4d226fbca70d27ed9a74d8/diff", "WorkDir": "/var/lib/docker/overlay2/e494ae30abc49ad403ef5c2a32bcb894629ea4da6d4d226fbca70d27ed9a74d8/work" }, "Name": "overlay2" }, "RootFS": { "Type": "layers", "Layers": [ "sha256:428c97da766c4c13b19088a471de6b622b038f3ae8efa10ec5a37d6d31a2df0b" ] }, "Metadata": { "LastTagTime": "0001-01-01T00:00:00Z" } } ]