使用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;
#}
}
这是默认的配置
我们直接访问就可以访问到我们的网页啦。