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 imagesDocker 运行 Nginx 静态网站

目前有一个镜像,即 registry.docker-cn.com/library/nginx

 

3、查看目前正在运行的容器

docker ps

Docker 运行 Nginx 静态网站

目前没有正在运行的容器

 

4、启动镜像

① 前台启动

docker run registry.docker-cn.com/library/nginx

这是前台启动,无法输入命令,需要退出,可以按 ctrl + c

Docker 运行 Nginx 静态网站

 

我们暂时不退出,打开另一个命令窗口,ssh 登录进去,查看当前正在运行的容器。可以 nginx 正在运行中

Docker 运行 Nginx 静态网站

 

② 后台启动(推荐)

docker run -d registry.docker-cn.com/library/nginx

后台启动只需要加一个 -d 的参数

Docker 运行 Nginx 静态网站

 

5、进入容器中

docker exec -it admiring_kapitsa bash

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

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

-t :分配一个伪终端

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

bash 终端命令

Docker 运行 Nginx 静态网站

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

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

Docker 运行 Nginx 静态网站

查看当前运行的服务

ps -ef

Docker 运行 Nginx 静态网站

可以看到 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

Docker 运行 Nginx 静态网站

8080 端口正在运行中

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

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

Docker 运行 Nginx 静态网站

 

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

Docker 运行 Nginx 静态网站

 

5、提交

docker commit -m 'hello' 116c639e7fa9

  • 微信
  • 赶快加我聊天吧
  • weinxin
  • 博客/Java交流群
  • 资源分享,问题解决,技术交流。群号:590480292
  • weinxin
言曌

发表评论

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen: