Docker

Posted butterflyeffect

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker相关的知识,希望对你有一定的参考价值。

Docker基本概念

使用Docker ToolBox 工具进行常规操作的时候,我们需要明白容器和镜像的概念:

  • 宿主机,Host,运行Docker所在的物理机,是Docker运行的系统环境
  • 镜像,Image,相当于一个程序模板,通过这个模板可以生成很多个相似的容器。可以理解为Java中的类,它本身不具备执行运行的能力,是一个对象抽象的模板。每个镜像可以有多个版本,用tag来区分。镜像可以通过Dockerfile来构建。
  • 容器,Container,Docker运行的最小单位对象。它是通过镜像实例化出来的一个可运行对象。容器的修改,可以提交反作用于镜像,更新这个容器的模板。
  • 仓库,Repository,用于存储管理镜像的仓库,类似于git管理代码的仓库一样,可以管理多版本的镜像。

镜像相当于C#中的类,而容器则是对象,类实例化对象,镜像实例化成一个个容器,故镜像存在仓库中,拉取到本地电脑中,而容器则需要实例化出来运行它们。

Docker常规操作

获取宿主机中存在拥有的镜像文件,它们都存放在宿主机的仓库中

$ docker images

获取宿主机中所有的容器,包含关闭和开启的

$ docker ps -a

只获取宿主机中开启的容器

$ docker ps

创建并运行镜像文件,这将得到一个实例化的容器并运行,[REPOSITORY]是仓库中的镜像名

docker run [REPOSITORY]

创建并运行镜像文件,这将得到一个实例化的容器并运行,[IMAGE ID]是镜像ID

docker run -it [IMAGE ID]

拉取Docker Hub上的ubuntu系统文件

docker pull ubuntu:16.04

启动某个容器

$ docker start [CONTAINER ID]

停止某个容器

$ docker stop [CONTAINER ID]

登录某个容器

$ docker attach [CONTAINER ID]

删除某个容器

$ docker rm [CONTAINER ID]

删除所有关闭状态的容器

$ docker container prune

以上是关于Docker的主要内容,如果未能解决你的问题,请参考以下文章

markdown docker-compose片段

sh Docker片段

《Docker 源码分析》全球首发啦!

docker 部署 coredns(内部域名解析)

docker 部署 coredns(内部域名解析)

将 Docker 容器限制为单个 cpu 核心