一、获取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 #退出容器内部
来源:oschina
链接:https://my.oschina.net/u/4417528/blog/3944292