nginx proxy
创建 network
sh
docker network create -d bridge nginx-proxy-netnginx-proxy 部署
sh
mkdir -p /mydata/nginx-proxy/{conf,ssl,logs}
sudo groupadd dk
sudo chown -R 1000:dk /mydata/nginx-proxy
sudo chmod -R 2775 /mydata/nginx-proxy
# 静态文件目录
mkdir /mydata/web-static
sudo chown -R 1000:dk /mydata/web-staticvim docker-compose.yml
yml
networks:
use-external-net:
external: true # 这个非常重要,使用外部网络
name: nginx-proxy-net
services:
nginx-proxy:
image: registry.cn-chengdu.aliyuncs.com/qins-img/nginx:1.24-alpine
container_name: nginx-proxy
restart: always
networks:
- use-external-net
ports:
- "80:80"
- "443:443"
volumes:
- ./conf:/etc/nginx/conf.d
- ./ssl:/etc/nginx/ssl
- ./logs:/var/log/nginx
- /mydata/web-static:/mydata/web-staticsh
docker-compose up -dconf 为空会报错,可以添加一个 default.conf 测试
nginx
server {
listen 80;
server_name localhost;
location / {
return 200 'hello';
add_header Content-Type text/plain;
}
}其他可选配置
yml
volumes:
- ./mime.types:/etc/nginx/mime.types
- ./html:/usr/share/nginx/html子项目
因为都是 docker 部署,他们之间必须有 network 才能通信!!!
部署时,一定要指定 network,参考:
sh
docker run -dit --name hlx2 -p 25001:25001 --network nginx-net registry.cn-chengdu.aliyuncs.com/qins-img/hlx2:${DRONE_BUILD_NUMBER}配置
放在 ngc v2
https://gitee.com/qinsJs/ngc/tree/v2/
调试
一般 docker log 就可以,如果不行就进入容器里面进行调试
sh
docker exec -it 容器id shsh
tail -f /var/log/nginx/error.logmime.types
如果需要的话在添加也来得及
sh
docker run --rm -dit --name temp-nginx registry.cn-chengdu.aliyuncs.com/qins-img/nginx:1.24-alpine
docker cp temp-nginx:/etc/nginx /opt/nginx/mine.types更新配置后强制重启
docker-compose up -d --force-recreate⚠️ 删除 volumes
docker-compose down -v