您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    详细的Docker入门总结 看这一篇就够了(5)
    时间:2018-11-14 12:31 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    详细的Docker入门总结 看这一篇就够了

    运转 docker push、docker pull、docker search 时,实践上是经过 Docker Daemon 与 Docker Registry 通讯。

    Docker Container

    Docker 容器就是 Docker 镜像的运转实例,是真正运转项目顺序、消耗系统资源、提供效劳的中央。

    Docker Container 提供了系统硬件环境,我们可以运用 Docker Images 这些制造好的系统盘,再加上我们所编写好的项目代码,Run 一下就可以提供效劳啦。

    Docker 组件是如何协作运转容器

    看到这里,我置信各位读者冤家们应该曾经对 Docker 基础架构熟习的差不多了,我们还记得运转的第一个容器吗?

    如今我们再经过 hello-world 这个例子来体会一下 Docker 各个组件是如何协作的。

    容器启动进程如下:

    Docker 客户端执行 docker run 命令。

    Docker Daemon 发现本地没有 hello-world 镜像。

    Daemon 从 Docker Hub 下载镜像。

    下载完成,镜像 hello-world 被保存到本地。

    Docker Daemon 启动容器。

    详细进程可以看如下这幅演示图:

    详细的Docker入门总结 看这一篇就够了

    我们可以经过 Docker Images 可以查看到 hello-world 曾经下载到本地:

    我们可以经过 Docker Ps 或许 Docker Container ls 显示正在运转的容器,我们可以看到,hello-world 在输入提示信息以后就会中止运转,容器自动终止,所以我们在查看的时分没有发现有容器在运转。

    我们把 Docker 容器的任务流程剖析的十分清楚了,我们大体可以知道 Docker 组件协作运转容器可以分为以下几个进程:

    Docker 客户端执行 docker run 命令。

    Docker Daemon 发现本地没有我们需求的镜像。

    Daemon 从 Docker Hub 下载镜像。

    下载完成后,镜像被保存到本地。

    Docker Daemon 启动容器。

    了解了这些进程以后,我们再来了解这些命令就不会觉得很突兀了,下面我来给大家讲讲 Docker 常用的一些命令操作吧。

    Docker 常用命令

    我们可以经过 docker -h 去查看命令的详细的协助文档。在这里我只会讲一些日常我们能够会用的比较多的一些命令。

    详细的Docker入门总结 看这一篇就够了

    例如,我们需求拉取一个 Docker 镜像,我们可以用如下命令:

    docker pull image_name 

    image_name 为镜像的称号,而假设我们想从 Docker Hub 上去下载某个镜像,我们可以运用以下命令:

    docker pull centos:latest 

    cento:lastest 是镜像的称号,Docker Daemon 发现本地没有我们需求的镜像,会自动去 Docker Hub 上去下载镜像,下载完成后,该镜像被默许保存到 /var/lib/docker 目录下。

    接着我们假设想查看主机下存在多少镜像,我们可以用如下命令:

    docker images 

    我们要想知道以后有哪些容器在运转,我们可以用如下命令:

    docker ps -a 

    -a 是查看以后一切的容器,包括未运转的。我们该如何去对一个容器停止启动,重启和中止呢?

    我们可以用如下命令:

    docker start container_name/container_id  

    docker restart container_name/container_id  

    docker stop container_name/container_id 

    这个时分我们假设想进入到这个容器中,我们可以运用 attach 命令:

    docker attach container_name/container_id 

    那假设我们想运转这个容器中的镜像的话,并且调用镜像外面的 bash ,我们可以运用如下命令:

    docker run -t -i container_name/container_id /bin/bash 

    那假设这个时分,我们想删除指定镜像的话,由于 Image 被某个 Container 援用(拿来运转),假设不将这个援用的 Container 销毁(删除),那 Image 一定是不能被删除。

    我们首先得先去中止这个容器:

    docker ps  

    docker stop container_name/container_id 

    然后我们用如下命令去删除这个容器:

    docker rm container_name/container_id 

    然后这个时分我们再去删除这个镜像:

    docker rmi image_name 

    此时,常用的 Docker 相关的命令就讲到这里为止了,我们在后续的文章中还会重复地提到这些命令。

    Dockerfile 是什么

    前面我们曾经提到了 Docker 的一些基本概念。以 CTF 的角度来看,我们可以去运用 Dockerfile 定义镜像,依赖镜像来运转容器,可以去模拟出一个真实的破绽场景。

    因此毫无疑问的说, Dockerfile 是镜像和容器的关键,并且 Dockerfile 还可以很随便的去定义镜像内容,说了这么多,那么 Dockerfile 究竟是个什么东西呢?

    Dockerfile 是自动构建 Docker 镜像的配置文件,用户可以运用 Dockerfile 快速创立自定义的镜像。Dockerfile 中的命令十分相似于 Linux 下的 Shell 命令。

    我们可以经过下面这幅图来直观地感受下 Docker 镜像、容器和 Dockerfile 三者之间的关系:

    (责任编辑:admin)