Hitchhiker 部署

docker使用的是docker-compose來安裝,會自動下載兩個image:hitchhiker和mysql,基本上按命令執行便可,若是須要配置,能夠參考:配置文件, 環境變量能夠寫到docker-compose.yml裏html

國內用戶請使用阿里雲的鏡像 hitchhiker-cn:registry.cn-hangzhou.aliyuncs.com/brook/hitchhiker-cn:v0.14mysql

參考下面命令,一步一步部署 (基於ubuntu,其餘系統相似):

# 安裝docker,若是已經安裝請忽略
sudo apt update
sudo apt install docker.io

# 安裝docker-compose,若是已經安裝請忽略
sudo apt install docker-compose

# 建立一個文件夾
mkdir hitchhiker
cd hitchhiker

# 從github上下載docker-compose.yml以及mysql.conf文件
curl -O https://raw.githubusercontent.com/brookshi/Hitchhiker/release/deploy/docker/hitchhiker_and_mysql/docker-compose.yml -O https://raw.githubusercontent.com/brookshi/Hitchhiker/release/deploy/docker/hitchhiker_and_mysql/hitchhiker-mysql.cnf

# 編輯 docker-compose.yml, 把localhost換成你機器的局域網ip,若是是隻有本機一我的用那就localhost也能夠
sudo vim docker-compose.yml
# 修改完成後,保存退出 (國內用戶改image地址:registry.cn-hangzhou.aliyuncs.com/brook/hitchhiker-cn:v0.14, 以及寫入環境變量配置hitchhiker以及mysql)
...

# 執行docker-compose up安裝鏡像
sudo docker-compose up -d

# 成功後能夠測試下
curl http://ip:8080/

下面是下載下來的docker-compose.yml的內容:nginx

version: '2'
services:
  hitchhiker:
    image: registry.cn-hangzhou.aliyuncs.com/brook/hitchhiker-cn:v0.14
    container_name: hitchhiker
    environment:
      - HITCHHIKER_DB_HOST=hitchhiker-mysql
      - HITCHHIKER_APP_HOST=http://localhost:8080/ # should change before deploying.
      # 在這裏寫入環境變量
    ports:
      - "8080:8080"
      - "11010:11010"
    volumes:
      - /my/hitchhiker/data:/usr/src/Hitchhiker/build/global_data/project
      - /my/hitchhiker/backup:/usr/src/Hitchhiker/build/backup
      - /my/hitchhiker/logs:/usr/src/Hitchhiker/build/logs
    links:
      - hitchhiker-mysql:hitchhiker-mysql
  hitchhiker-mysql:
    image: mysql:5.7
    container_name: hitchhiker-mysql
    environment:
      - MYSQL_ROOT_PASSWORD=hitchhiker888
      - MYSQL_DATABASE=hitchhiker-prod
    volumes:
      - ./hitchhiker-mysql.cnf:/etc/mysql/conf.d/hitchhiker.cnf
      - /my/hitchhiker/sqldata:/var/lib/mysql

修改端口

端口修改須要改全部的8080,好比想使用6666端口,能夠這樣寫:git

version: '2'
services:
  hitchhiker:
    image: registry.cn-hangzhou.aliyuncs.com/brook/hitchhiker-cn:v0.14
    container_name: hitchhiker
    environment:
      - HITCHHIKER_DB_HOST=hitchhiker-mysql
      - HITCHHIKER_APP_HOST=http://localhost:6666/ # 修改成本機ip及端口
    ports:
      - "6666:6666"
      - "11010:11010"
    volumes:
      - /my/hitchhiker/data:/usr/src/Hitchhiker/build/global_data/project
      - /my/hitchhiker/backup:/usr/src/Hitchhiker/build/backup
      - /my/hitchhiker/logs:/usr/src/Hitchhiker/build/logs
    links:
      - hitchhiker-mysql:hitchhiker-mysql
  hitchhiker-mysql:
    image: mysql:5.7
    container_name: hitchhiker-mysql
    environment:
      - MYSQL_ROOT_PASSWORD=hitchhiker888
      - MYSQL_DATABASE=hitchhiker-prod
    volumes:
      - ./hitchhiker-mysql.cnf:/etc/mysql/conf.d/hitchhiker.cnf
      - /my/hitchhiker/sqldata:/var/lib/mysql

使用自有mysql

若是你不想再下載mysql image,而使用已有的mysql,好比host爲192.168.0.10, 用戶名爲root,密碼爲123456,庫名爲test,能夠這樣修改:github

version: '2'
services:
  hitchhiker:
    image: registry.cn-hangzhou.aliyuncs.com/brook/hitchhiker-cn:v0.14
    container_name: hitchhiker
    environment:
      - HITCHHIKER_DB_HOST=192.168.0.10
      - HITCHHIKER_APP_HOST=http://localhost:8080/ # 修改成本機ip及端口
      - HITCHHIKER_DB_USERNAME=root
      - MYSQL_ROOT_PASSWORD=123456
      - MYSQL_DATABASE=test
    ports:
      - "8080:8080"
      - "11010:11010"
    volumes:
      - /my/hitchhiker/data:/usr/src/Hitchhiker/build/global_data/project
      - /my/hitchhiker/backup:/usr/src/Hitchhiker/build/backup
      - /my/hitchhiker/logs:/usr/src/Hitchhiker/build/logs

使用nginx和域名

由於使用域名的話基本上是用80端口,若是主機仍是使用8080端口是沒有問題,由於默認用的是這個端口。但若是用其餘端口或要使用壓力測試就須要使用另一個環境變量來設置端口:HITCHHIKER_APP_PORT。 要注意的是hitchhiker和nginx對主機的端口不能衝突。sql

配置docker環境

sudo apt update
sudo apt install docker.io
sudo apt install docker-compose

可能遇到的問題

  1. 若是docker部署完成後,瀏覽器訪問時界面停留在轉圈那裏 解決: 極可能是數據庫裏的表沒建立起來,須要去hitchhiker-mysql容器裏查看下,命令:sudo docker exec -it hitchhiker-mysql bash 進入容器, mysql -uroot -p 密碼進到mysql, use hitchhiker-prod; show tables; 來查看錶。若是表確實沒建立起來,去到hitchhiker容器裏 sudo docker exec -it hitchhiker bash, 執行pm2 restart index重啓服務就能夠了。
相關文章
相關標籤/搜索