安装
这次安装,挂载配置文件路径,这样配置文件更容易修改,不需要进入容器里面
创建目录
在root/docker_nginx目录下创建mkdir conf.d文件夹
cd /root/docker_nginx
mkdir conf.d
创建docker-compose.yml
在/root/docker_nginx目录下创建docker-compose.yml文件
vim docker-compose.yml
内容如下:
version: '3'
services:
nginx:
image: nginx # 镜像
container_name: nginx # 指定容器名称
ports: # bridge网络模式,指定映射端口
- "8000:80"
# network_mode: "host" # 指定网络模式
restart: always # 当docker服务启动时,容器总是跟着启动
volumes:
- /root/docker_nginx/conf.d:/etc/nginx/conf.d # 挂载配置文件路径
将宿主机/root/docker_nginx/conf.d映射到容器的/etc/nginx/conf.d目录
关闭并删除之前的nginx
docker-compose down
启动
docker-compose up -d
执行结果:
Creating network "docker_nginx_default" with the default driver
Creating nginx ... done
查看
docker-compose ps
访问
打开浏览器访问 http://106.13.165.100:8000/ 打开页面错误,因为没有default.conf,nginx不知道如何处理请求
创建 default.conf
在宿主机的 /root/docker_nginx/conf.d 目录下,创建 default.conf 文件
vim /root/docker_nginx/conf.d/default.conf
内容如下:
server {
listen 80; # 监听所有ipv4的80端口
# listen [::]:80; # 监听所有ipv6的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; # 默认首页是 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; # http错误代码对应的错误页面是50x.html
#location = /50x.html {
# root /root/docker_nginx/html; # 50x.html的位置
#}
}
重新加载 or 重启
重新加载配置文件
如果不想重启nginx docker,那么需要进入容器,重新加载配置文件
docker exec -it nginx bash
nginx -s reload
重启nginx docker
重启的方式,比重新加载要简单些
docker-compose restart
测试
打开浏览器访问 http://106.13.165.100:8000/ 能够正常访问页面