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
人说,如果你很想要一样东西,就放它走 。如果它回来找你,那么它永远都是你的。要是它没有回来,那么不用再等了,因为它根本就不是你的。
——伊恩·麦克尤恩