共计 1567 个字符,预计需要花费 4 分钟才能阅读完成。
docker 搭建 nginx 教程
通过《使用 docker 从零开始搭建私人代码仓库之 MySQL 搭建》和《使用 docker 从零开始搭建私人代码仓库之 gogs 搭建》的搭建其实已经可以搭建成功了代码仓库的了,但是为了访问方便,我们有时候需要绑定域名,那么我们可以通过 nginx 进行转发。
添加 nginx 容器
打开上一个教程中的 docker-compose.yml
文件,填入如下内容:
gogs_nginx:
build:
context: nginx
tty: true
depends_on:
- gogs
restart: always
networks:
frontend:
ports:
- 80:80
volumes:
- ./nginx/conf:/etc/nginx/conf.d
- ${DATA_DIR}/nginx/conf:/var/log/nginx
最终 docker-compose.yml
文件内容如下:
version: "3"
networks:
frontend:
services:
mysql:
image: mysql:${MYSQL_VERSION}
networks:
frontend:
tty: true
restart: always
ports:
- 3306:3306
volumes:
- ${DATA_DIR}/mysql/:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
gogs:
image: gogs/gogs
depends_on:
- mysql
tty: true
networks:
frontend:
restart: always
volumes:
- ${DATA_DIR}/gogs:/data
gogs_nginx:
build:
context: nginx
tty: true
depends_on:
- gogs
restart: always
networks:
frontend:
ports:
- 80:80
volumes:
- ./nginx_conf:/etc/nginx/conf.d
- ${DATA_DIR}/nginx/conf:/var/log/nginx
在项目根目录创建 nginx_conf
目录并创建 nginx 的配置文件default.conf
> mkdir nginx_conf && cd nginx_conf && touch default.conf
编辑 default.conf
配置文件并加入如下配置:
upstream gogs {server gogs:3000;}
server {
listen 80 default_server;
server_name gogs.me; # 域名
location / {
#反向代理的地址
proxy_pass http://gogs;
#设置主机头和客户端真实地址,以便服务器获取客户端真实 IP
proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
access_log /var/log/nginx/gogs.log main;
}
}
该配置绑定了域名 gogs.me
并把请求转发到 gogs 容器的 3000 端口
启动 nginx
> docker-compose up -d gogs_nginx
通过该命令会一起启动 mysql 和 gogs。
所有容器都启动成功了。
安装 gogs
在浏览器中输入 gogs.me
会出现安装 gogs 的界面:
添加如下配置:
添加完成后点击立即安装,等待安装完成即可。
更多精彩文章,请关注我的博客 SOCKSTACK,分享我的工作经验。
正文完
发表至:无分类
2019-10-09