云原生-docker安装 Nginx
1、直接拉去最新的Nginx 镜像
docker pull nginx:latest
2、查看本地镜像
docker images
可以发现Nginx已经成功拉过来了
3、运行容器
docker run --name nginx -p 8069:80 -d nginx
打开ip:8069
ip是你服务器的地址,8069是你的端口
4、挂载配置
使用以下命令进入nginx容器
docker exec -it nginx /bin/bash
说明:docker挂载文件时,并不是挂载了某个文件的路径,而是挂载了对应的文件,即挂载了linux指定的inode文件.当使用vim之类的编辑器进行保存时,它不是直接保存文件,而是采用了备份、替换的策略,就是编辑时,是创建一个新的文件,在保存的时候,把备份文件替换源文件,这个时候文件的 inode 就发生了变化,而原来 inode 对应的文件其实并没有修改,也就是容器内的文件没有变化。当重启容器的时候,会挂载新的 inode
所以官方不建议直接挂载文件,而是建议直接挂载文件夹
从docker里的nginx将配置文件复制出来(若nginx没有启动需要先启动镜像)
docker cp nginx:/etc/nginx/nginx.conf /var/www/html/nginx/nginx.conf #从容器中复制配置文件
docker cp nginx:/etc/nginx/conf.d /var/www/html/nginx/ #从容器中复制配置文件夹
docker cp nginx:/usr/share/nginx/html /var/nginx/ #从容器中复制html文件
docker cp nginx:/var/log/nginx /var/nginx/log #从容器中复制日志文件
docker stop nginx #删除nginx容器
docker rm nginx #移除nginx容器
chmod 777 /var/www/html/nginx/conf #给nginx配置文件夹最大访问权限
重新以配置文件启动nginx镜像
docker run -d -p 8069:80 --name nginx --net host \
-v /etc/nginx/nginx.conf:/var/www/html/nginx/nginx.conf \
-v /etc/nginx/conf.d:/var/www/html/nginx/conf.d \
-v /etc/nginx/cert:/var/www/html/nginx/cert \
-v /var/nginx/html:/usr/share/nginx/html \
-v /var/nginx/log:/var/log/nginx \
-e LANG=C.UTF-8 -e LC_ALL=C.UTF-8 \
--privileged=true --restart=always de2543b9436b
-e LANG=C.UTF-8 -e LC_ALL=C.UTF-8是解决nginx中文乱码
-d :守护式容器在后台运行
-p:端口映射,格式为 主机(宿主)端口:容器端口
-v:挂载目录
–privileged=true 给容器内root权限
–restart=always 随docker自启动
–net host容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口
de2543b9436b:自己镜像的id,记得修改
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架