文章目录
- 1: 运行nginx镜像
- 1:实践前奏
- 2:示例
- 1 拉取nginx镜像
- 2 运行nginx镜像
- 前端运行nginx镜像+关闭镜像方法
- 后台运行nginx镜像+进入容器内部[^2]
完整课程请点击: Docker入门课程
上一节:
在上一节中,已经能运行最简单的hello-world镜像,这节就开始运行一个更复杂的镜像 Nginx
1: 运行nginx镜像
- ngnix为持久运行的容器(不同于 hello-world)
- 前台挂起&后台运行(前台运行的话,ctrl+c 即可结束进程,所以最好后台)
- 进入容器内部,观察容器特征
- 在网易云镜像中心输入
nginx
并搜索,得下图,我们需要的是第一个library/nginx
- 左击上图中的
library/nginx
,得下图,复制圈出来的下载地址 - QuickStart终端执行上图复制的语句,得下图
- 终端执行
docker images
,可以看到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常规操作——启动、停止、重启容器实例 ↩︎
- Docker容器进入的4种方式 ↩︎