Docker运行Nginx服务器

旧巷老猫 提交于 2021-02-13 11:50:00

一、获取Docker容器的Nginx镜像

 

二、创建Docker容器宿主机挂载目录

# 创建挂载目录,-v 显示创建的目录名
[root@idclooknet ~]# mkdir -vp /opt/docker_cfg/nginx/html /opt/docker_cfg/nginx/logs /opt/docker_cfg/nginx/conf

 

三、添加Nginx基本配置到挂载的配置文件

#新建nginx配置文件 nginx.conf,并添加配置
[root@idclooknet conf]# touch nginx.conf 

#nginx配置文件的配置如下
[root@idclooknet conf]# cat nginx.conf 
user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

 

四、启动Docker容器下Nginx服务器

[root@idclooknet nginx]# docker run -p 80:80 --name mynginx -v $PWD/html:/usr/share/nginx/html:ro -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:ro -v $PWD/logs:/var/log/nginx -d nginx

 

五、浏览器访问Nginx网页目录

访问成功,nginx版本 1.13.12 ,因为挂载的目录还没有放任何文件,是一个空目录,所以访问显示是403。

 

六、其它

 1、在启动Docker容器的时候,可能发现执行运行命令后马上停止,也没有显示任何错误信息,这时候很难定位问题所在,可以查看Docker日志:

[root@localhost nginx]# docker logs nginxcontainer
2018/06/05 16:19:53 [emerg] 1#1: unknown directive "er" in /etc/nginx/nginx.conf:1
nginx: [emerg] unknown directive "er" in /etc/nginx/nginx.conf:1

这样就可以快速找到出问题的地方,如上实例,显而易见配置文件出现错误,更多Docker日志命令参数可以查阅官方文档:https://docs.docker.com/engine/reference/commandline/logs/ 

2、进入运行中容器的内部

[root@idclooknet ~]# docker start df5bf8ba4fd1

[root@idclooknet ~]# docker exec -it df5bf8ba4fd1 /bin/bash

root@df5bf8ba4fd1:/var/log/nginx# exit #退出容器内部

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!