Skip to content

Commit

Permalink
fix(docker): fix docker setup, add docker-compose.yml (#68)
Browse files Browse the repository at this point in the history
* fix(docker): fix docker setup, add docker-compose.yml
  • Loading branch information
paradite authored and xudafeng committed Jun 16, 2019
1 parent d1d28ec commit 29111d6
Show file tree
Hide file tree
Showing 7 changed files with 68 additions and 6 deletions.
13 changes: 13 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,19 @@ RUN curl -SLO "$NODE_REGISTRY/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.g
&& tar -xzf "node-v$NODE_VERSION-linux-x64.tar.gz" -C /usr/local --strip-components=1 \
&& rm "node-v$NODE_VERSION-linux-x64.tar.gz"

COPY . /root/reliable-web

WORKDIR /root/reliable-web

RUN npm install && ln -s /root/logs . \
&& cd view && npm i \
&& npm run build

WORKDIR /root/reliable-web

HEALTHCHECK --interval=10s --retries=6 \
CMD wget -O /dev/null localhost:9900 || echo 1

ENTRYPOINT ["./entrypoint.sh"]

EXPOSE 9900
Expand Down
19 changes: 19 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
version: "3"
services:
mysql:
image: macacajs/reliable-mysql
restart: always
ports:
- "3306:3306"
volumes:
- $HOME/reliable_home/mysql_data:/var/lib/mysql
web:
image: macacajs/reliable-web:v2
restart: always
depends_on:
- mysql
ports:
- "9900:9900"
environment:
- MYSQL_HOST=mysql
- RELIABLE_HOST=127.0.0.1 # replace it with your hostname: RELIABLE_HOST=example.com
25 changes: 25 additions & 0 deletions docker/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,28 @@
# Dockerfiles

---

You need to run both `database` and `app` containers

## Running both together with docker-compose

```bash
# cd to project root where docker-compose.yml is located
$ docker-compose up
```

```bash
# add seed to db, otherwise 500 will be thrown
$ NODE_ENV=production npm run db:seed:all
```

## Starting them separately

### Database container - reliable-mysql

- [Dockerfile](https://github.com/macacajs/reliable/blob/master/docker/reliable-mysql/Dockerfile)
- [doc](https://github.com/macacajs/reliable/blob/master/docker/reliable-mysql/README.md)

### Reliable main app container (backend and frontend) - reliable-web
- [Dockerfile](https://github.com/macacajs/reliable/blob/master/Dockerfile)
- [doc](https://github.com/macacajs/reliable/blob/master/docker/reliable-web/README.md)
1 change: 1 addition & 0 deletions docker/reliable-mysql/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
```bash
$ docker run --name reliable-mysql \
-v $HOME/reliable_home/mysql_data:/var/lib/mysql \
-p 3306:3306 \
-d macacajs/reliable-mysql
```

Expand Down
12 changes: 8 additions & 4 deletions docker/reliable-web/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,19 @@

## production

should launch `reliable-mysql` service first.
Note: launch `reliable-mysql` service and seed data via `npm run db:seed:all` first.

If you don't seed data the server will return 500 error.

[available environment variable](./#environment-variable)

```bash
$ docker run --rm --name reliable-web \
-p 9900:9900 \
-e RELIABLE_HOST=127.0.0.1 \
--link reliable-mysql:mysql-host \
macacajs/reliable-web
-e MYSQL_HOST=reliable-mysql \
--link reliable-mysql:reliable-mysql \
macacajs/reliable-web:v2
```

run as a service
Expand All @@ -31,8 +34,9 @@ run as a service
$ docker run --name reliable-web \
-p 9900:9900 \
-e RELIABLE_HOST=127.0.0.1 \
-e MYSQL_HOST=reliable-mysql \
--link reliable-mysql:mysql-host \
-d macacajs/reliable-web
-d macacajs/reliable-web:v2
```

open http://127.0.0.1:9900
Expand Down
2 changes: 1 addition & 1 deletion docs/guide/reliable-web-deploy.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ Reliable server is running on `http://127.0.0.1:9900` by default.
Nginx server is running on `http://127.0.0.1:9920` by default.
should edit [docker-compose.yml](../docker-compose.yml) on demand.
Edit [docker-compose.yml](https://github.com/macacajs/reliable/blob/master/docker-compose.yml) to fit your need.
### Using [docker](https://docs.docker.com/)
Expand Down
2 changes: 1 addition & 1 deletion docs/zh/guide/reliable-web-deploy.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ Reliable 服务默认运行在 `http://127.0.0.1:9900`。
Nginx 服务默认运行在 `http://127.0.0.1:9920`
需要按需修改 [docker-compose.yml](../docker-compose.yml) 配置。
需要按需修改 [docker-compose.yml](https://github.com/macacajs/reliable/blob/master/docker-compose.yml) 配置。
### 其他 [Docker](https://docs.docker.com/) 服务部署
Expand Down

0 comments on commit 29111d6

Please sign in to comment.