使用docker创建Nginx服务器容器
这篇文章我们主要是了部署我们的领券联盟作准备的
关于docker的安装
这里我们提供两种创建方式
- 直接手动拉取-->运行
 - 通过docker-compose来创建
 
前面我们知道了docker的三要素

- 仓库
 - 镜像
 - 容器
 
接下来我们直接去拉取nginx
拉取Nginx镜像
我们从远程仓库库拉取Nginx镜像,这个可以搜索一下。当然,我们知道一定有的。
也可以到dockerHub上去搜素


我这就下载完了,如果你下载失败了,多试几次就好。
可以看到,我列出来的镜像就在列表里。
运行容器
其实可以直接运行的,如果你在运行的时候没有的话,会去拉取。默认不加版本号就是最新的版本。
运行之前,我们先了解一些东西。
- 端口,我们Nginx服务器,作为一个代理,负载均衡,让外访问的服务器。我们应该暴露80端口;
 - 配置文件,我们的Nginx服务器有配置文件,当然我们可以进去里面修改,第次都要复制出来,复制进去,比较麻烦;
 - 网页资源文件放在哪里?我们一般放在外面,也是为了方便修改;
 - log目录,最好放在宿主机机。
 
所以我们要先创建目录,一个是配置文件目录,一个是测试网页的目录,一个是放置Logs的
mkdir nginx
cd nginx
mkdir conf
mkdir wwwroot
mkdir logs
先在docker目录下创建nginx目录,再创建三个文件夹。
所以,我们的docker run命令这么写:
docker run -d --name=sob-nginx -p 80:80 \
-v /home/aosp/docker/nginx/wwwroot:/usr/share/nginx/html \
-v /home/aosp/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/aosp/docker/nginx/logs:/var/log/nginx \
nginx
说明:
- -d 是后台运行
 - --name是容器的名称,
 - -v是挂载目录
 - \反斜杠是shell里的连接,如果写成一行的话会很长,所以用反斜杠把上下行连接起来,其实就是一行命令
 - 最后一个nginx则是镜像名称了,如果有版本则加上版本,不加则是最新的版本。
 
先是准备配置文件,如下最简单的配置
server {
    listen       80;
    server_name  localhost;
    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
    #error_page  404              /404.html;
    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}
这是默认的配置
我们直接访问就可以访问到我们的网页啦。
