在linux上搭建nginx已经ok了 接下来 用docker搭建nginx
拉取nginx镜像
docker pull nginx
查看是否已经拉取成功
docker images
运行nginx实例
docker run --name nginx -d -p 80:80 nginx:latest 如下 curl 127.0.0.1 表示启动成功
查看nginx配置
进入nginx容器 docker exec -it nginx bash cat /etc/nginx/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;
}
从这个配置文件可以看出 nginx的日志文件在 /var/log/nginx 目录下 很重要的一点 最后一行 引入了 /etc/nginx/conf.d/ 文件下所有的配置文件 通过查看default.conf 文件的信息 默认的页面路径 /usr/share/nginx/html
so 知道了这些 下面正式开始docker配置nginx
回到宿主机 exit 我们在 /docker/nginx/目录下 创建三个文件夹 如下 然后 我们将nginx的一些配置信息 copy到刚创建的对应目录中去 docker cp nginx:/etc/nginx /docker/nginx/config/ docker cp nginx:/usr/share/nginx/html /docker/nginx/data/ docker cp nginx:/var/log/nginx /docker/nginx/logs/ 继续 我们将刚启动的nginx容器 强制删除 docker rm -f nginx
最后 启动nginx并挂载目录
docker run --name nginx -p 80:80 \ -v /docker/nginx/config/nginx/:/etc/nginx \ -v /docker/nginx/data/html:/usr/share/nginx/html \ -v /docker/nginx/logs/:/var/log/nginx \ -d nginx:latest
验证结果
在浏览器输入ip即可
为了验证是否挂载成功,我们修改下首页的文件
vi /docker/nginx/data/html/index.html
加上 bye bye bye 保存后退出
重新启动nginx
docker restart nginx
thanks
文章参考:https://my.oschina.net/u/3690153/blog/4287739