經過《 使用docker從零開始搭建私人代碼倉庫之MySQL搭建》和《 使用docker從零開始搭建私人代碼倉庫之gogs搭建》的搭建其實已經能夠搭建成功了代碼倉庫的了,可是爲了訪問方便,咱們有時候須要綁定域名,那麼咱們能夠經過nginx進行轉發。
打開上一個教程中的docker-compose.yml
文件,填入以下內容:mysql
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
文件內容以下:nginx
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
git
> mkdir nginx_conf && cd nginx_conf && touch default.conf
編輯default.conf
配置文件並加入以下配置:github
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端口sql
> docker-compose up -d gogs_nginx
經過該命令會一塊兒啓動mysql和gogs。docker
全部容器都啓動成功了。shell
在瀏覽器中輸入gogs.me
會出現安裝gogs的界面:瀏覽器
添加以下配置:服務器
添加完成後點擊當即安裝,等待安裝完成便可。hexo
更多精彩文章,請關注個人博客 SOCKSTACK,分享個人工做經驗。