第1关:Hello Docker !
任务描述
“没有集装箱,就不会有全球化”,集装箱的出现改变了全球化的现代生产与运输体系。Docker是一套以容器技术为核心的思想和一套标准化的体系,是IT领域的“集装箱”。只是,这个“集装箱”会改变整个IT世界吗?
本关任务是初识Docker,要求学习者参照示例完成拉取镜像、启动容器并在容器内输出Hello Docker的功能。
docker pull busybox
docker run --name my_container busbox:latest echo 'Hello Docker'
第2关:拉取镜像
任务描述
在没有使用Docker之前,如果我们要准备一个ubuntu的运行环境,那么首先我们得安装一个ubuntu的系统,多么麻烦,多么耗时啊!!而使用Docker之后,只需要从Docker Hub中拉取一个ubuntu镜像,基于该ubuntu镜像启动一个容器,就可以在容器中做任何在ubuntu系统中做的事情,整个过程大约2-3分钟,而且主要的时间是用于下载镜像!是不是非常方便呢?
本关的任务是学习准备一个容器的运行环境,更准确的说,应该是拉取一个具备某个运行环境的镜像,要求学习者参照示例完成“从Docker Hub中拉取一个busybox:1.27镜像”的功能。
docker pull busybox:1.27
第3关:启动一个容器
任务详情
如果将Docker比作一艘轮船,那容器就是轮船上一个一个的集装箱,而镜像就是组成集装箱的基本材料。docker容器是Docker中至关重要的一部分,而这一节我们介绍如何启动一个容器。
本关任务是学习启动一个容器,要求学习者参照示例完成“创建并启动一个名为firstContainer的容器,该容器具备busybox的运行环境,并在启动时输出一个“hello world”。
相关知识
为了完成本关卡,你需要掌握:
第一种方式:新建并启动;
第二种方式:启动一个已经终止的容器;
查看容器信息。
在拉取到一个镜像之后,也就为容器准备了运行环境。下面我们将介绍如何使用镜像启动一个容器。
启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动。
docker pull busybox
docker run --name firstContainer busybox echo 'hello world'
第4关:停止一个容器
任务描述
在日常的Docker工作学习中,有些时候需要停止某个容器。例如有一个运行着Java程序的容器,它占用的资源过多了,那么如何停止一个容器呢?
本关的任务是学习停止一个正在运行的容器,要求学习者参照示例将正在运行的名为firstContainer的容器停止。
相关知识
为了完成本关卡,你需要掌握:
使用 docker stop 停止一个容器;
在什么情况下容器启动后会立即终止?
如何才能使容器启动后不立即终止?
docker pull ubuntu
docker run -itd --name firstContainer ubuntu /bin/bash
docker stop firstContainer
第5关:进入一个容器
任务描述
不知道你有没有过这样的疑问,使用docker start启动了一个终止的容器,这仅仅只是启动了这个容器并执行了容器的“启动命令”,怎么进入这个容器的内部来操控容器呢??
本关的任务是学习如何进入一个正在运行的容器的内部,要求学习者参照示例,进入一个名为container2的容器内部,并在容器内部创建一个1.txt文件。
docker pull ubuntu
docker run -itd --name container2 ubuntu /bin/bash
docker exec container2 touch 1.txt
第6关:删除容器
任务详情
随着我们创建的容器越来越多,容器的管理越来越难。而且一般情况下,容器都是在使用完成后立即就删除掉,这时候就需要用到“删除容器”了。
本关的任务是学习如何删除容器,要求学习者参照示例,删除掉所有创建的容器(运行状态和终止状态的容器全都删除掉)。
相关知识
为了完成本关卡,你需要掌握:
删除一个处于终止状态的容器;
删除一个正在运行的容器;
删除所有处于终止状态的容器。
docker pull ubuntu
docker pull busybox
docker run -itd ubuntu /bin/bash
docker run busybox echo 'hello world'
docker rm -f $(docker ps -a -q)