文章目录

  • 1: 运行nginx镜像
  •   1:实践前奏
  •   2:示例
  •    1 拉取nginx镜像
  •    2 运行nginx镜像
  •       前端运行nginx镜像+关闭镜像方法
  •       后台运行nginx镜像+进入容器内部[^2]



  

完整课程请点击: Docker入门课程


  上一节:

Docker学习(4)-Docker初体验


  在上一节中,已经能运行最简单的hello-world镜像,这节就开始运行一个更复杂的镜像 Nginx

1: 运行nginx镜像


  • ngnix为持久运行的容器(不同于 hello-world)
  • 前台挂起&后台运行(前台运行的话,ctrl+c 即可结束进程,所以最好后台)
  • 进入容器内部,观察容器特征

  1. 网易云镜像中心输入 nginx并搜索,得下图,我们需要的是第一个library/nginx
  2. docker 仓库正则搜索_nginx

  3. 左击上图中的library/nginx,得下图,复制圈出来的下载地址
  4. docker 仓库正则搜索_nginx_02

  5. QuickStart终端执行上图复制的语句,得下图
  6. docker 仓库正则搜索_Docker_03

  7. 终端执行docker images,可以看到nginx镜像拉取成功
  8. docker 仓库正则搜索_docker 仓库正则搜索_04


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

    可以看到,nginx镜像已经在运行,但是因为nginx 此时是在前端运行,所以会出现1中的情况。
  3. 1的基础上执行 docker kill 779ab2962a80关闭前端运行nginx镜像这个进程。1(* 779ab2962a80*为上图中的容器ID,也可以用 容器名替代),得下图
  4. 执行 docker ps 语句,发现进程已关闭.
      后台运行nginx镜像+进入容器内部2
  1. 执行 docker run -d hub.c.163.com/library/nginx ,在后台运行该镜像(-d为运行的参数,可以执行 docker run --help查看运行的参数解释),得下图,返回的值为容器的ID。
  2. 进入容器内部的命令为 docker exec [OPTIONS] CONTAINER COMMAND [ARG...]解释: 在一个正在运行的容器中执行一条命令。
    OPTIONS为执行的参数(可以通过执行 docker exec --help查看)
    CONTAINER 为容器名, COMMAND [ARG…]为命令名以及参数
  3. 执行 docker exec -it 23f bash,得下图
    解释-it为上图的 -i-t的缩写,23f为容器ID的简写(因为现在在本机上的容器很少,通过23f就足以查找容器),bash为终端命令[^3]
  4. 上图表明已经进入了 nginx 所在的linux终端,就可以执行相关的Linux命令了。
  5. 执行完相关 Linux命令后,执行exit退出容器,得下图

到这里,我们已经用 Docker运行了Nginx,但是我们还没有在浏览器中访问到Nginx,进入下一节


  1. docker常规操作——启动、停止、重启容器实例 ↩︎
  2. Docker容器进入的4种方式 ↩︎