linux怎么查看本机内存大小
277
2022-10-22
Docker--安装服务--Nginx
简介
本文展示:使用Docker部署Nginx并成功访问.html静态文件。
实例(Docker外部配置Nginx)
1.获取Nginx镜像
搜索镜像
docker search nginx
可以发现有很多镜像。第一个镜像是官方的:nginx:latest
拉取镜像
docker pull nginx:latest
查看镜像
docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEnginx latest 62d49f9bab67 2 weeks ago 133MB
2.拷贝配置到外部
创建外部配置目录(放到:/home/docker-config/nginx下边) mkdir -p /home/docker-config/nginx/ mkdir -p /home/docker-config/nginx/conf.d mkdir -p /home/docker-config/nginx/logs mkdir -p /home/docker-config/nginx/share创建并启动nginx容器(以生成默认的配置文件) 创建nginx容器 docker run --name nginx_latest -P -d nginx:latest查看容器的id docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES793431c0c200 nginx:latest "/docker-entrypoint.…" 24 hours ago Up 29 minutes xxx nginx_latest将内部配置文件拷贝到外部 docker cp 7934:/etc/nginx/nginx.conf /root/docker-config/nginx/nginx.conf docker cp 7934:/etc/nginx/conf.d/ /root/docker-config/nginx/conf.d/ docker cp 7934:/var/log/nginx/ /root/docker-config/nginx/logs/ docker cp 7934:/usr/share/nginx/html/ /root/docker-config/nginx/share/html //注意:使用CONTAINER ID的前几位就可以。此处应该也可以用NAMES。
3.修改配置文件
简介
假设:我们想通过10000端口来访问index.html
原来的配置文件(nginx.conf)
user nginx;worker_processes 1; error_log /var/log/nginx/error.log warn;pid /var/run/nginx.pid; events { worker_connections 1024;} { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$' '"$"$ 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.conf)
user nginx;worker_processes 1;error_log /var/log/nginx/error.log warn;pid /var/run/nginx.pid;events { worker_connections 1024;}{ include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$' '"$"$ access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; server{ listen 10000; server_name _; root /usr/share/nginx/html/; index index.html; }}
注意
所有的配置路径都是docker内部的路径,不要写:/home/docker-config/xxx这种。我们后边会通过路径映射的方式启动,docker会自动从外部路径获得数据。
4.关闭并删除原先的nginx容器
关闭:docker stop nginx_latest
删除:docker rm nginx_latest
5.以外部配置启动容器
命令
sudo docker run --name nginx_latest -d -p 10000:10000 \
-v /home/docker-config/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /home/docker-config/nginx/conf.d:/etc/nginx/conf.d \
-v /home/docker-config/nginx/logs:/var/log/nginx \
-v /home/docker-config/nginx/share/html:/usr/share/nginx/html \
nginx:latest
说明
这样通过创建映射的方式启动,当我们用docker exec -it xxx /bin/bash 进去查看配置时可以发现,它所有配置跟外部配置是一样的。
这里,我猜测,有以下两种可能。
docker先把外部配置拷贝到内部容器,然后启动docker在我们访问内部配置的时候,实际访问的还是外部的配置,它相当于一个快捷方式一样的一个链接。
6.测试
访问:ip:10000
实例(Docker内部配置Nginx)
1.获取Nginx镜像
跟上边一样。
2.创建并启动容器
创建nginx容器
docker run --name nginx_latest -p 10000:10000 -d nginx:latest
关闭:docker stop nginx_latest
3.修改配置文件
简介
假设:我们想通过10000端口来访问index.html
原来的配置文件(nginx.conf)
user nginx;worker_processes 1; error_log /var/log/nginx/error.log warn;pid /var/run/nginx.pid; events { worker_connections 1024;} { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$' '"$"$ 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.conf)
user nginx;worker_processes 1;error_log /var/log/nginx/error.log warn;pid /var/run/nginx.pid;events { worker_connections 1024;}{ include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$' '"$"$ access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; server{ listen 10000; server_name _; root /usr/share/nginx/html/; index index.html; }}
4.再次启动
docker start nginx_latest
其他网址
Docker系列三~docker安装nginx_笔记docker安装nginx
使用docker安装nginx
使用docker安装nginx_花&败_docker安装nginx
docker nginx安装模块_Docker 安装 Nginx_ohbibendum的博客-
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~