本次实验一共有三个任务:
快速安装最新版的Docker。这一步我们要卸载系统中旧版本的 Docker 然后装上最新版的 Docker 并启动。
运行Docker 容器。这一步我们要学习如何快速运行一个容器,以及如何通过拉取镜像、创建容器来分步运行容器。
停止和删除Docker 容器。这一步我们要学习如何停止正在运行的容器,如何删除容器及其镜像。
1列出系统中已安装的docker包
2卸载已安装的docker包
3如果系统中没有 Docker,则直接进入下一步
4安装 Docker 所需的依赖
5添加 Docker 的 yum 源
6 yum 安装 Docker
7验证 Docker 版本以确认安装成功
8如图所示,Docker 安装成功
1执行以下命令启动 Docker
2然后将 Docker 设置为开机启动
3查看 Docker 运行状态
4如图所示,Docker 正在运行
5创建 Docker 配置目录
6配置 Docker 镜像加速源
7重启守护进程并重启 Docker
8使用 docker run 命令可以直接拉取镜像并运行一个容器
9这行命令会直接拉取 hello-world 镜像,然后运行一个 hello 容器,可以通过以下命令查看该容器的进程
10可以看到 hello 容器已经运行过了
11我们也可以一步一步来运行容器。以 calibre-web 为例,先拉取 Docker 镜像
12查看现有的镜像
13镜像拉取成功后,根据镜像创建容器
14docker create 是创建容器的命令
--name=calibre-web 表示创建的容器的名称
-p 80:8083 表示该容器将 80 端口映射到 8083 端口
-v /data/calibre-web/librery:/libray 表示该容器将 /data/calibre-web/library 目录映射为 /library 目录
-e WEBLANGUAGE=zh_CN 表示该容器定义了一个变量,变量名是 WEBLANGUAGE,变量值是 zh_CN
johngong/calibre-web 是容器的镜像,这里也就是我们前面拉取的镜像
15使用如下命令可以查看现有的全部容器
16如图所示,calibre-web 容器创建成功
17与 docker run 不同的是,docker create 创建出来的容器不会直接运行。可以查看下运行中的容器进程
18可以看到,没有任何容器在运行
19使用以下命令启动刚才创建好的容器
20查看容器进程
21可以看到,calibre-web 容器正在运行
22要停止正在运行的容器有两种方法。一种是 docker stop
23使用 docker ps 命令可以看到,正在运行的容器中已经没有 calibre-web
24另一种方法是 docker kill
25这两种方法的区别在于,docker stop 会给时间让容器保存最后的运行状态,而 docker kill 则会直接关闭容器
26使用 docker rm 命令可以删除指定的容器
27查看所有容器
28已经看不到 hello 容器了
29我们先重新运行 calibre-web 容器
30这时候我们用 docker rm 删除该容器
31命令行会报错
32要删除运行状态的容器,需要带上 -f 选
33正在运行的 calibre-web 会被强制停止并删除
34使用 docker rmi 命令可以删除指定的镜像
35查看现有镜像
36已经看不到 hello-world 镜像了
37可以通过 docker rmi 跟镜像 ID 来删除指定的镜像。而获取所有镜像 ID 的命令是
38如图所示,命令行列出了剩余所有镜像的 ID
39我们可以用这些 ID 一次性删除所有镜像