版权声明:版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/lililuni/article/details/83245142
上一节: 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,进入下一节: