增加固定IP配置。对应修改readme

This commit is contained in:
Dennis Mo
2020-04-26 19:38:48 +08:00
parent dc250cfdee
commit 50c7a0393c
4 changed files with 56 additions and 25 deletions

View File

@@ -28,17 +28,39 @@ https://gitea.io/en-us/
6. 执行该sh脚本。注意可以通过tail -2 /etc/passwd和tail -2 /etc/group 查看新注册用户的uid和gid。如和docker-compose.yml中的不符合则应修改yml文件。 6. 执行该sh脚本。注意可以通过tail -2 /etc/passwd和tail -2 /etc/group 查看新注册用户的uid和gid。如和docker-compose.yml中的不符合则应修改yml文件。
7. 参照NginxAndLetsencrypt的sample.conf中的注释说明和sampleApp中的compose文件修改docker-compose.yml的网络设置。 7. 执行 docker inspect nginxdocker_nginx_1 来确定nginx所在网络名称
8. 启动服务 ```
"Networks": {
9. ``` "nginxdocker_default": {
docker-compose up -d
``` ```
10. 参照NginxAndLetsencrypt的sample.conf中的注释说明获取新创建的container的ip并返回到gitea.conf中将ip填入。 8. 执行 docker network inspect nginxdocker_default 来确定一些网络信息:
```
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "192.168.16.0/20",
"Gateway": "192.168.16.1"
}
]
},
```
9. 根据上述两点网络相关的信息修改gitea的docker-compose文件中的对应部分并指定固定IP。
9. 将需要nginx代理的应用设置的固定IP填入之前的gitea.conf。
11. 重启nginx的docker容器。 11. 重启nginx的docker容器。
12. 启动gitea的docker-compose
13. ```
docker-compose up -d
```
## 使用说明 ## 使用说明
- 配置文件在:/srv/gitea/gitea/gitea/conf下的app.ini - 配置文件在:/srv/gitea/gitea/gitea/conf下的app.ini
@@ -49,3 +71,7 @@ https://gitea.io/en-us/
## 测试环境 ## 测试环境
* CentOS Linux release 7.3.1611 (Core) * CentOS Linux release 7.3.1611 (Core)
```
```

View File

@@ -5,6 +5,9 @@ networks:
gitea: gitea:
external: external:
name: nginxdocker_default name: nginxdocker_default
ipam:
config:
- subnet: 192.168.16.0/20
services: services:
server: server:
@@ -19,7 +22,8 @@ services:
- DB_PASSWD=Whynotfight? - DB_PASSWD=Whynotfight?
restart: always restart: always
networks: networks:
- gitea gitea:
ipv4_address: 192.168.16.15
volumes: volumes:
- ./gitea:/data - ./gitea:/data
ports: ports:
@@ -37,7 +41,8 @@ services:
- MYSQL_PASSWORD=Whynotfight? - MYSQL_PASSWORD=Whynotfight?
- MYSQL_DATABASE=gitea - MYSQL_DATABASE=gitea
networks: networks:
- gitea gitea:
ipv4_address: 192.168.16.14
volumes: volumes:
- ./mysql/config/my.cnf:/etc/my.cnf - ./mysql/config/my.cnf:/etc/my.cnf
- ./mysql/data:/var/lib/mysql - ./mysql/data:/var/lib/mysql

View File

@@ -1,10 +1,13 @@
version: "3.4" version: "3.4"
# setting networks. important when connecting other containers.
networks: networks:
gitea: gitea:
external: external:
name: nginxdocker_default name: nginxdocker_default
ipam:
config:
- subnet: 192.168.16.0/20
services: services:
server: server:
@@ -16,10 +19,11 @@ services:
- DB_HOST=db:3306 - DB_HOST=db:3306
- DB_NAME=gitea - DB_NAME=gitea
- DB_USER=gitea - DB_USER=gitea
- DB_PASSWD=pwd - DB_PASSWD=dbpwd
restart: always restart: always
networks: networks:
- gitea gitea:
ipv4_address: 192.168.16.15
volumes: volumes:
- ./gitea:/data - ./gitea:/data
ports: ports:
@@ -29,14 +33,17 @@ services:
- db - db
db: db:
image: "mysql:5.7.27" image: "mysql/mysql-server"
restart: always restart: always
environment: environment:
- MYSQL_ROOT_PASSWORD=rootpwd - MYSQL_ROOT_PASSWORD=dbrootpwd
- MYSQL_USER=gitea - MYSQL_USER=gitea
- MYSQL_PASSWORD=pwd - MYSQL_PASSWORD=dbpwd
- MYSQL_DATABASE=gitea - MYSQL_DATABASE=gitea
networks: networks:
- gitea gitea:
ipv4_address: 192.168.16.14
volumes: volumes:
- ./mysql:/var/lib/mysql - ./mysql/config/my.cnf:/etc/my.cnf
- ./mysql/data:/var/lib/mysql
- ./mysql/init:/docker-entrypoint-initdb.d

View File

@@ -23,14 +23,7 @@ server {
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / { location / {
#此处的IP是其他Docker Container的IP。注意 proxy_pass http://192.168.16.15:3000;
#1不需要在compose nginx和letsencrypt的阶段就配置好下面的内容
#2配置完成后执行 docker inspect nginxdocker_nginx_1 来确定所在网络名称。如:
#"Networks": {
# "nginxdocker_default": {
#3在接下来要运行的应用的docker-compose文件中指定外部网络名称为上述名称。参见sampleApp示例。
#4用docker inspect命令确定应用的container的IP填入下方即可。
proxy_pass http://172.17.0.1:17000;
proxy_set_header Host $http_host; proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;