10分钟快速掌握Docker必备基础知识( 四 )


docker pull library/centos:latest
因此 , 如果拉取非官方的第三方镜像 , 则需要指定完整仓库名 , 如下:

docker pull MySQL/mysql-server:latest
运行镜像
使用docker run命令 , 可以通过镜像创建一个容器 , 如下:
docker run -it centos /bin/bash
删除镜像
当本地有些镜像我们不需要时 , 那我们也可以删除该镜像 , 以节省存储空间 , 不过要注意 , 如果有使用该镜像创建的容器未删除 , 则不允许删除镜像 。
# image_name表示镜像名 , image_id表示镜像id
dockere image rm image_name/image_id
删除镜像的快捷命令:
docker rmi image_name/image_id
好了 , 关于Docker镜像的相关知识 , 我们就简单地介绍到这里 , 有机会的话 , 我们单独写一篇文章来谈谈 , 特别构建Docker镜像部分的相关知识 , 有必要深入再学习一下 。
容器(Container)Docker的镜像是用于生成容器的模板 , 镜像分层的 , 镜像与容器的关系 , 就是面向对象编程中类与对象的关系 , 我们定好每一个类 , 然后使用类创建对象 , 对应到Docker的使用上 , 则是构建好每一个镜像 , 然后使用镜像创建我们需要的容器 。
启动和停止容器
启动容器有两种方式 , 一种是我们前面已经介绍过的 , 使用docker run命令通过镜像创建一个全新的容器 , 如下:
docker run hello-world
另外一种启动容器的方式就是启动一个已经停止运行的容器:
# container_id表示容器的id
docker start container_id
要停止正在运行的容器可以使用docker container stop或docker stop命令 , 如下:
# container_id表示容器的id
docker stop container_id
查看所有容器
如果要查看本地所有的容器 , 可以使用docker container ls命令:
# 查看所有容器
docker container ls
查看所有容器也有简洁的写法 , 如下:
# 查看所有容器
docker ps
删除容器
我们也可以使用docker container rm命令 , 或简洁的写法docker rm命令来删除容器 , 不过不允许删除正在运行的容器 , 因此如果要删除的话 , 就必须先停止容器 , 
# container_id表示容器id,通过docker ps可以看到容器id
$ docker rm container_id
当我们需要批量删除所有容器 , 可以用下面的命令:
# 删除所有容器
docker rm $(docker ps -q)
# 删除所有退出的容器
docker container prune
进入容器
# 进入容器,container_id表示容器的id,command表示linux命令,如/bin/bash
docker exec -it container_id command
仓库(Repository)
在前面的例子中 , 我们使用两种方式构建镜像 , 构建完成之后 , 可以在本地运行镜像 , 生成容器 , 但如果在更多的服务器运行镜像呢?很明显 , 这时候我们需要一个可以让我们集中存储和分发镜像的服务 , 就像Github可以让我们自己存储和分发代码一样 。
Docker Hub就是Docker提供用于存储和分布镜像的官方Docker Registry , 也是默认的Registry , 其网址为https://hub.docker.com , 前面我们使用docker pull命令便从Docker Hub上拉取镜像 。
Docker Hub有很多官方或其他开发提供的高质量镜像供我们使用 , 当然 , 如果要将我们自己构建的镜像上传到Docker Hub上 , 我们需要在Docker Hub上注册一个账号 , 然后把自己在本地构建的镜像发送到Docker Hub的仓库当中 , Docker Registry包含很多个仓库 , 每个仓库对应多个标签 , 不同标签对应一个软件的不同版本 。
Docker的组成与架构在安装好并启动了Docker之后 , 我们可以使用在命令行中使用docker命令操作docker , 比如我们使用如下命令打印docker的版本信息 。
docker verion
其结果如下:
10分钟快速掌握Docker必备基础知识


推荐阅读