docker基础知识

Table of Contents

Docker基础

容器(Container)是通过镜像(image)创建的。容器是在原先的image之上新加了一层,这一层是可读可写的,镜像只是可读的。 在面向对象的编程语言中,有类跟对象的概念。类是抽象的,对象是类的具体实现。Image跟Container可以类比面向对象中的类跟对象,Image就相当于抽象的类,Container就相当于具体实例化的对象。 Image跟Container的职责区别:Image负责APP的存储和分发,Container负责运行APP。

Docker命令行参考

镜像(image)

Docker 把应用程序及其依赖,打包在 image 文件里面,通过这个文件生成 Docker 容器。image 文件可以看作是容器的模板。

  • 拉取仓库代码到本地

    docker image pull library/hello-world

    docker官方提供的默认在library中,可以省略library

    docker image pull hello-world

  • 查看所有镜像文件

    docker image list

  • 从image文件中生成一个正在运行的容器实例

    docker container run xxxx

  • 手动终止运行的容器

    docker container kill xxxx

  • 以交互模式运行容器 (后边可以跟需要打开的shell)

    docker container run -it xxxx (bin/bash)

容器

更多命令参考 👉🏻 (官方文档)

  • 列出本机正在运行的容器

    docker container list

  • 列出本机所有容器,包括终止运行的容器

    docker container ls -all

  • 启动终止的容器

    docker container start <container id>

  • 重启正在运行的容器

    docker container restart <container id>

  • 停止正在运行的容器

    docker container stop <container id>

  • 删除容器文件(终止运行的容器文件,依然会占据硬盘空间)

    docker container rm <container id>

  • 获取容器的运行的输出

    docker container logs <container id>

  • 进入容器

    使用attach命令进入容器后,如果从这个stdin中exit,会导致容器的停止。使用exec容器则不会停止

    docker container attach <container id>

    docker container exec -it <container id> (bash)

  • 清理掉所有处于终止状态的容器

    docker container prune

  • 复制主机文件到docker中

    docker container cp 主机文件 docker地址