Docker渐入佳境

前两篇算是对Docker作了大体的介绍,而后如今开始,就是Docker的实际运用了,先从一个简单的静态网站的部署开始。php

容器端口映射

以网站服务为例,通常须要80端口,那么如何使容器的端口能被外界访问获得呢?这就要用到容器的端口映射。html

run [-P] [-p]nginx

-p --publish = []web

  • containerPort - docker run -p 80 -i -t /bin/bash - 宿主机端口随机映射
  • hostPort:containerPort - docker run -p 8080:80 -i -t /bin/bash - 宿主机端口:容器端口 指定映射
  • IP:containerPort - docker run -p 0.0.0.0:80 -i -t /bin/bash - 指定IP的端口映射
  • ip:hostPort:containerPort docker run -p 0.0.0.0:8080:80 -i -t /bin/bash - 指定IP和端口的映射

Nginx部署静态网站

部署Nginx须要如下步骤:docker

建立映射80端口的交互式容器

$ docker run -p 80 --name Nginx_Web -i -t ubuntu /bin/bash
复制代码

安装Nginx

$ apt-get install -y nginx
复制代码

若提示未发现软件,使用apt-get update更新源ubuntu

安装文本编辑器vim

$ apt-get install -y vim
复制代码

建立静态页面

先建立网站目录,而后使用vim编辑网页vim

$ mkdir -p /var/www/html
$ cd /var/www/html
$ vim index.html
复制代码

输入一个基本的html内容,:wq指令保存并退出!bash

修改Nginx配置文件

$ cd /etc/nginx/
$ ls
$ vim /sites-enabled/default
复制代码

检查root的默认路径,确认其为刚刚建立的/var/www/htmlcurl

一样:wq指令保存并退出!编辑器

关于Nginx的配置能够参考以前的博客

运行Nginx

$ nginx
$ ps -ef
复制代码

运行nginx,可使用ps指令来查看

Ctrl+P + Ctrl+Q 切出容器,使用docker ps查看容器状态

容器

验证网站访问

若无公网IP,则直接使用curl命令才访问

$ curl http://127.0.0.1:32769
复制代码

注意:这里的端口号使用刚才ps中显示的端口号,也可使用docker port Nginx_Web来查看端口

curl

若是有外网或者域名解析,则能够直接访问验证。

web

或者使用容器的ip地址访问(宿主机内部)

使用docker inspect Nginx_Web查看IP地址,并直接访问,此处略过。

退出容器后操做

退出容器后,nginx服务中止,使用start指令启动会,nginx并不会自动启动。

此时可使用docker exec Nginx_Web nginx来附加指令使nginx启动,并正常运行。

注意:若不指定,退出并从新启动后的容器的端口和IP都会改变.

相关文章
相关标签/搜索