使用docker從零開始搭建私人代碼倉庫之nginx搭建

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。

https://raw.githubusercontent.com/sockstack/hexo_blog_img/master/%E4%BD%BF%E7%94%A8docker%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%A7%8B%E6%9E%84%E5%BB%BA%E7%A7%81%E4%BA%BA%E4%BB%A3%E7%A0%81%E4%BB%93%E5%BA%93/%E5%90%AF%E5%8A%A8nginx.png

所有容器都啓動成功了。

安裝gogs

在瀏覽器中輸入gogs.me會出現安裝gogs的界面:

gogs安裝界面

添加如下配置:

gogs配置1

gogs配置2

添加完成後點擊立即安裝,等待安裝完成即可。

安裝完成界面

更多精彩文章,請關注我的博客SOCKSTACK,分享我的工作經驗。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章