静下心来的个人专栏
上一篇

Docker运行

广告
选中文字可对指定文章内容进行评论啦,→和←可快速切换按钮,绿色背景文字可以点击查看评论额。
大纲

Docker的运行

今天我们来运行一个docker,下面执行以下的命令:

docker -D run hello-world

注意,这里出现了一个错误:进程没有运行,启动docker客户端以后,再次执行:

注意这里打印出来的日志信息:

docker首先从本地拉去镜像,本地没有镜像,然后从远程拉取,拉取之后创建实例,然后运行,打印出 Hello from Docker。

1、通过运行 docker -D run hello-world 运行 hello-world 映像 -D 在调试模式下运行 docker 命令,因此您可以看到幕后究竟发生了什么。

2、正如您所观察到的,docker 首先检查给定名称“hello-world”中是否存在镜像。由于在本地找不到镜像,它从 docker-hub 拉到本机(本地机器),然后运行映像。映像的可运行实例称为容器。

3、容器在终端上回显一些消息并退出。

4、现在,尝试通过 docker rmi hello-world 删除该镜像,您会注意到该镜像无法删除,因为它有一个依赖容器。

5、因此,通过运行 docker rm docker_id 从机器中删除容器以进行清理。

6、通过运行 docker rmi hello-world 删除镜像。

7、现在 hello-world 映像也已从您的系统中清除。

因此,如果您需要删除镜像,则必须先删除镜像对应的容器。

 

在本文的第一张图,展示了通过DockerFile构建镜像,然后运行镜像的原理。

我们来试试:

# The base image to use in the build.
# This is mandatory and must be the first command in the file.
# © https://jstobigdata.com
FROM busybox:latest

# `Docker inspect` can be used to view image Labels.
LABEL version = "1.0"
LABEL author = "Bikram Kundu"

CMD ["echo", "Welcome to - Zero to Hero in Docker"]
# Now go back to the tutorial and follow the commands

1、查看 Dockerfile,这是指示 Docker 如何构建预期镜像的文件。

2、现在让我们从 Dockerfile 构建镜像, docker -D build -t hello-docker:latest .

-D 在调试模式下运行 docker build 命令,这样你就知道发生了什么。

-t 指定名称和可选的标签名称:标签

.就是指定Dockerfile存在的路径。

docker build – 从 Dockerfile 构建 docker 镜像

3、运行 docker build --help 以了解可用于构建镜像的所有命令。

4、现在镜像hello-docker 已构建,输入 docker images 以查看存储在主机中的图像列表。

5、镜像的可运行实例称为容器,因此要运行 docker container docker run -i --name hello-docker-container hello-docker

-i 以交互模式启动容器,对于高级选项非常有用

--name hello-docker-container 为容器分配这个名称。默认情况下,docker 会尝试为每个可运行的容器分配一个唯一的名称,出于学习目的,我试图向您展示如何命名给定的容器。

使用 docker run --help 了解可用于运行容器的所有选项。

 

6、要查看系统中存在的所有可运行容器,请运行 docker container ls --all

7、清理容器和图像。您可以参考上面的 hello-world 示例,使用 docker rm 和 docker rmi 清理主机中不必要的容器和镜像。

 

Docker镜像的构建

如上所述,Dockerfile 具有向 docker 解释如何构建和构建什么的指令或命令。我们将更详细地研究这一点,因为这是最重要的 Docker 教程。

FROM:解释用于构建自定义 hello-docker 映像的基本映像。这就像继承/可重用性。

LABEL:这是为您的图像设置一些标签/元信息。如版本、作者、电子邮件、许可证等。

CMD:在 hello-docker 镜像中运行的命令

还有其他几个命令如下:

FROM, LABEL, COPY,  RUN, EXPOSE, ENV, ADD, COPY, ENTRYPOINT, VOLUME, USER, WORKDIR, ARG, ONBUILD, STOPSIGNAL, HEALTHCHECK, SHELL. 所有命令都是大写。

在未来的章节中,我们将花更多时间来理解这些命令中的每一个。

版权声明:著作权归作者所有。

X

欢迎加群学习交流

联系我们