Docker 运行 Nginx 静态网站

本文是在 Ubuntu Server 16.04 下进行测试,详细介绍 Docker 如果运行一个 Nginx 静态网站

一、准备工作

1、SSH 连接服务器 ssh -q -l 用户名 -p 22 ip地址   2、切换到 root 用户 su 如果新服务器没有 root 密码,可以先设置密码 sudo passwd root   3、确保 apt-get 是最新版 sudo apt-get update   4、安装 docker apt-get install -y docker.io 或者 curl -s https://get.docker.com|sh   5、查看 docker 是否安装成功 docker version 发现没有启动   6、启动 docker service docker start   7、再次查看 docker version 启动成功,可以看到客户端和服务器端的版本信息 想看简约的,直接 docker -v   至此,准备工作已经做好。  

二、运行 Nginx 镜像

1、拉取镜像到本地 docker pull nginx 这是从 docker 官方仓库下载,如果很慢,可以试试国内镜像仓库 docker pull registry.docker-cn.com/library/nginx     2、查看镜像列表 docker images 目前有一个镜像,即 registry.docker-cn.com/library/nginx   3、查看目前正在运行的容器 docker ps 目前没有正在运行的容器   4、启动镜像 ① 前台启动 docker run registry.docker-cn.com/library/nginx 这是前台启动,无法输入命令,需要退出,可以按 ctrl + c   我们暂时不退出,打开另一个命令窗口,ssh 登录进去,查看当前正在运行的容器。可以 nginx 正在运行中   ② 后台启动(推荐) docker run -d registry.docker-cn.com/library/nginx 后台启动只需要加一个 -d 的参数   5、进入容器中

docker exec -it admiring_kapitsa bash

docker exec 表示在容器中执行命令

-i :即使没有附加也保持STDIN 打开

-t :分配一个伪终端

admiring_kapitsa 是容器名称,可以通过 docker ps 查看

bash 终端命令

然后,我们发现仿佛我们进了一台新的电脑

进去看看文件目录,找一下我们 nginx 在哪里

查看当前运行的服务

ps -ef

可以看到 nginx 正在运行 如果 ps -ef 命令没有找到 可以试试 apt-get update apt-get install procps   退出容器 exit  

三、Docker 网络

上一节我们学习了安装 Docker 和 在 Docker 中安装 Nginx,没有介绍如果在浏览器中访问 Nginx 的网站。 1、重新启动 Nginx 镜像 我们先关闭之前的镜像中的容器 docker stop admiring_kapitsa admiring_kapitsa 是容器名称   启动 Nginx 镜像

docker run -d -p 8080:80 registry.docker-cn.com/library/nginx

-d --标示后台进程运行–p端口映射宿主8080→容器80端口

registry.docker-cn.com/library/nginx 是镜像名称

2、查看 8080 端口的状态

netstat -na|grep 8080

8080 端口正在运行中

3、在浏览器访问 http://localhost:8080/

可以访问到(如果是在云服务器上测试,localhost换成ip地址)

  4、创建一个 hello.html,在里面写点东西,然后拷贝到容器中的/usr/share/html 目录中。最后提交到仓库,保证修改永久有效   5、提交 docker commit -m 'hello' 116c639e7fa9

发表评论

目前评论:1