完整课程请点击: Docker入门课程
上一节: Docker学习(4)-Docker初体验
在上一节中,已经能运行最简单的hello-world镜像,这节就开始运行一个更复杂的镜像 Nginx
1: 运行nginx镜像
1:实践前奏
- ngnix为持久运行的容器(不同于 hello-world)
- 前台挂起&后台运行(前台运行的话,ctrl+c 即可结束进程,所以最好后台)
- 进入容器内部,观察容器特征
2:示例
1 拉取nginx镜像
-
在网易云镜像中心输入
nginx并搜索,得下图,我们需要的是第一个library/nginx

-
左击上图中的
library/nginx,得下图,复制圈出来的下载地址

-
QuickStart终端执行上图复制的语句,得下图

-
终端执行
docker images,可以看到nginx镜像拉取成功

2 运行nginx镜像
前端运行nginx镜像+关闭镜像方法
- 执行
docker run hub.c.163.com/library/nginx:latest语句,会发现没有任何响应。 - 另开一个窗口 执行
docker ps语句,该语句会显示正在运行的镜像,得下图2. 另开一个窗口 执行docker ps语句,该语句会显示正在运行的镜像,得下图

可以看到,nginx镜像已经在运行,但是因为nginx 此时是在前端运行,所以会出现1中的情况。 - 在1的基础上执行
docker kill 779ab2962a80关闭前端运行nginx镜像这个进程。1(* 779ab2962a80*为上图中的容器ID,也可以用 容器名替代),得下图

- 执行
docker ps语句,发现进程已关闭.
后台运行nginx镜像+进入容器内部2
- 执行
docker run -d hub.c.163.com/library/nginx,在后台运行该镜像(-d为运行的参数,可以执行docker run --help查看运行的参数解释),得下图,返回的值为容器的ID。

- 进入容器内部的命令为
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
解释: 在一个正在运行的容器中执行一条命令。
OPTIONS为执行的参数(可以通过执行docker exec --help查看)
CONTAINER 为容器名, COMMAND [ARG…]为命令名以及参数

- 执行
docker exec -it 23f bash,得下图
解释:-it为上图的-i、-t的缩写,23f为容器ID的简写(因为现在在本机上的容器很少,通过23f就足以查找容器),bash为终端命令[^3]

- 上图表明已经进入了 nginx 所在的linux终端,就可以执行相关的Linux命令了。
- 执行完相关 Linux命令后,执行
exit退出容器,得下图

到这里,我们已经用 Docker运行了Nginx,但是我们还没有在浏览器中访问到Nginx,进入下一节:
本文详细介绍如何使用Docker运行Nginx镜像,包括从镜像搜索、下载、运行到进入容器内部的过程。同时,文章还讲解了Docker的基本命令,如docker images、docker ps和docker exec等,帮助读者掌握Docker的基本操作。
1万+

被折叠的 条评论
为什么被折叠?



