docker 安装
docker run --name nginx_3000 -p 3000:80 -d nginx
直接访问 localhost:3000 即可打开 nginx 配置成功页面
docker-compose
创建链接目录
root目录下
root@DESKTOP-91MGDB0:~# pwd
/root
root@DESKTOP-91MGDB0:~# mkdir -p nginx/logs
root@DESKTOP-91MGDB0:~# mkdir -p nginx/html
root@DESKTOP-91MGDB0:~# mkdir -p nginx/conf
使用 docker-compose.yml 文件
本文是wsl2安装
root@DESKTOP-91MGDB0:~/nginx# pwd
/root/nginx
root@DESKTOP-91MGDB0:~/nginx# cp /mnt/c/Users/lenovo/Desktop/docker-compose.yml docker-compose.yml
docker-compose.yml
建议把 docker-compose.yml 文件放在 nginx 目录下
version: "3"
services:
nginx:
image: nginx:latest
restart: always
container_name: nginx
hostname: 127.0.0.1
ports:
- 80:80
volumes:
- $PWD/nginx.conf:/etc/nginx/nginx.conf # nginx 主配置文件,includes /etc/nginx/conf.d 里的配置文件
- $PWD/logs:/var/log/nginx # nginx 相关日志
# - /root/nginx/html:/usr/share/nginx/html
- /mnt/c/workspace/blog/chgocn.github.io/public:/usr/share/nginx/html # nginx 配置的 webapp 的目录
- $PWD/conf:/etc/nginx/conf.d # nginx server 代码块配置文件
- $PWD/password:/etc/nginx/password # 使用 httpd-tools 设置网页认证访问
拉取镜像并启动容器
docker pull nginx & docker-compse up -d
导出 nginx 容器内连接的文件和目录
root@DESKTOP-91MGDB0:~/nginx# docker cp nginx:/etc/nginx/nginx.conf nginx.conf
root@DESKTOP-91MGDB0:~/nginx# docker cp nginx:/usr/share/nginx/html ./
root@DESKTOP-91MGDB0:~/nginx# docker cp nginx:/etc/nginx/conf.d ./conf/
重新更新docker-compose.yml 文件并重新创建容器
root@DESKTOP-91MGDB0:~/nginx# cp /mnt/c/Users/lenovo/Desktop/docker-compose.yml docker-compose.yml
root@DESKTOP-91MGDB0:~/nginx# docker-compose up -d
docker 使用注意
- 不支持直接挂载文件,只能挂载文件夹
- 想要挂载文件,必须宿主机也要有对应的同名文件
解决方案:
可以先不挂载 nginx.conf 文件
先从容器中复制 nginx.conf 出来
然后可以自行修改 nginx.conf,自定义配置项
创建正式使用的 nginx 容器
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 chgocn@gmail.com