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. 所有命令都是大写。

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

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

相关推荐

Java使用System.nanoTime()统计代码运行时间

我们在统计代码的运行时间常常会用System.currentTimeMillis(),如下:long startTime = System.currentTimeMillis(); doReallyLongThing(); long endTime = System.currentTimeMillis(); System.out.p

使用stackblitz在线运行github上基于Angular CLI构建的项目

在Github上面有很多Angular的demo,示例等等,我们要运行Github里的示例,需要经过下载,初始化项目,然后才到运行项目,这中间会花去很多时间。有一个叫做StackBlitz的项目,它可以看作一个轻量级的在线的IDE,它允许我们在线运行基于Angular CLI构建的项目。更进一步,对于Github上的项目,我们只需要简单地在浏览器输入对应的url即可运行我们想要的项目。示

运行PowerShell脚本.ps1

在PowerShell执行脚本1、打开Windows PowerShell2、进入脚本所在的文件夹PS> cd C:\topath\3、执行powershell脚本PS> .\myscript.ps1 在CMD执行脚本powershell -noexit "& ""C:\topath\myscript.ps1"""快捷执行在脚本文件.ps1点击右键,然后点击 “使用P

Linux使用halt命令关闭运行中操作系统

halt命令用来关闭正在运行的Linux操作系统。halt命令会先检测系统的runlevel,若runlevel为0或6,则关闭系统,否则即调用shutdown来关闭系统。 语法 halt [-n] [-w] [-d] [-f] [-i] [-p] 选项说明 -d:不要在wtmp中记录;-f:不论目前的runlevel为何,不调用shutdown即强制关闭系统;-i:在halt之前,关闭全部的

Idea导入maven工程后右键没有Maven选项,没有maven命令行运行视图

有的时候我们在idea导入一个maven工程的时候,会发现工程右侧没有maven命令运行视图 如图所示:左边红色框中的项目字体颜色是浅色的,而不是深色的,右边的maven命令视图不存在;如果遇上类似的问题,可以采用以下方法解决右键选中某个项目下的pom文件,然后add as Maven Project即可,如图所示

RxJs高阶运算——mergeMap

上一节我们介绍了第一个高阶运算concatMap,今天我们开始学习第二个高阶运算mergeMap。同样的道理,为了掌握mergeMap,我们先了解merge。mergeMap动态图我们知道concatMap是顺序执行,有的时候我们可能需要并行执行,此时我们就要用到merge.Observable Merge代码举例onst series1$ = interval(1000).pipe(map(va