前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker的镜像与容器常见面试答疑及命令行操作

Docker的镜像与容器常见面试答疑及命令行操作

作者头像
角落的白板报
发布2020-05-26 11:32:07
5840
发布2020-05-26 11:32:07
举报

Docker的镜像与容器常见面试答疑及命令行操作

要让Docker能够正常工作,需要的是容器和镜像,它们是Docker的地基。镜像是一个模板,是运行一个应用程序所需的文件。容器是由镜像创建的,用来执行隔离的应用,这样应用与应用之间就不会产生干扰。

接下来,我们将学习如何创建和使用镜像与容器,并演示如何使用Docker将ASP.NET Core 示例程序容器化。分别运行在Linux和Windows容器中。

常见面试问答

镜像是包含应用程序所需的模板文件,镜像直接可以相互引用关联,使得通过镜像创建应用程序显得简单易用。

涉及的命令行

命令

作用

docker image ls

查询所有的镜像

docker pull

下载镜像

docker rmi

删除镜像

docker build

创建一个自定义的镜像

docker create

创建容器

docker ps

查询所有的容器

docker start

启动容器

docker stop

停止容器

docker logs

查看容器的运行日志记录

docker run

创建并运行一个容器

docker cp

将文件复制到容器中

docker diff

查看容器文件的变化

docker exec

在容器中运行命令

docker commit

将修改的容器创建为镜像

docker tag

为镜像分配一个标记

docker login docker logout

从镜像仓库中登录或注销

docker push

将镜像发布到仓库中

docker inspect

查看容器的详细配置

 docker rmi -f $(docker image ls -aq)

操作镜像Hello-world

Hello-world 是编程界亘古不变的练习项目,同样Docker也提供了这样的一个项目,接下来我们通过操作一Hello-world镜像来掌握镜像的常用操作。

我们已经了解镜像是用于创建容器的模板,包含了容器我们所有的容器命令。

Hello-world镜像练习

下载镜像

首先我们下载镜像,输入以下命令:

docker pull hello-world

docker pull命令用于从仓库下载镜像,以便本地可用。通常不需要明确地执行此操作,因为其他管理镜像的Docker命令,在创建容器的时候会自动拉取所需的镜像(如果本地没有则会从仓库中下载到本地)。

返回结果:

Using default tag: latest
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:8e3114318a995a1ee497790535e7b88365222a21771ae7e53687ad76563e8e76
Status: Downloaded newer image for hello-world:latest

然后列出镜像

docker image ls

返回结果如下:

REPOSITORY

TAG

IMAGE

ID

CREATED

SIZE

hello-world

latest

bf756fb1ae65

4 months ago

13.3kB

这个输出中只显示了一个镜像,就是hello-world镜像。当Docker下载镜像来创建容器,它将镜像存储在本地,以加快未来任务的速度。

继续拉取一个hello-world镜像,这次我们给他添加一个Linux标记。

docker pull hello-world:linux
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 角落的白板报 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 常见面试问答
  • 涉及的命令行
  • 操作镜像Hello-world
    • 下载镜像
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档