- Docker ce版本
- Mysql5.7
- Node版本> 10
将项目主要代码复制到服务器中的自定义目录位置。查询项目基础结构是否完善
.
├── app
│ ├── cache
│ │ └── redis.js
│ ├── controller
│ │ ├── home.js
│ │ ├── schedule.js
│ │ └── search.js
│ ├── extend
│ │ └── application.js
│ ├── middleware
│ │ ├── checkAccessKey.js
│ │ └── error_handler.js
│ ├── model
│ │ ├── account.js
│ │ ├── followers.js
│ │ └── followings.js
│ ├── public
│ ├── router.js
│ ├── schedule
│ │ ├── clearEggLogs.js
│ │ ├── collectAccountInfo.js
│ │ ├── collectFollowersInfo.js
│ │ └── collectFollowingsInfo.js
│ └── service
│ ├── account.js
│ ├── followers.js
│ ├── followings.js
│ └── reptile.js
├── app.js
├── appveyor.yml
├── config
│ ├── config.default.js
│ ├── config.prod.js
│ └── plugin.js
├── Dockerfile
├── images
│ ├── account.png
│ ├── followers.png
│ └── followings.png
├── jsconfig.json
├── package.json
├── package-lock.json
└── README.md
在主目录下,执行docker build
指令,进行镜像打包
$ docker build -t <镜像名称:版本> .
$ docker images
注意:
- 在镜像打包的Dockerfile配置,默认expose暴露出来的端口为7921,至于怎么样跟物理主机进行端口映射,可以自行定义;
- 使用-v指令,可以进行物理主机跟容器之间文件映射,打包成镜像后,bilibiliReptile项目的工作主目录为:
/web-project/node/bilibili-reptile
$ docker run -d --name=bilibili-reptile -p 7921:7921 -v /web-project/logs/bilibili/:/web-project/node/bilibli-reptile/logs <镜像名称:版本>
$ docker ps
[root@localhost bilibiliReptile]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e7041475be20 mysql:5.7 "docker-entrypoint.s…" About an hour ago Up About an hour 0.0.0.0:3306->3306/tcp, 33060/tcp mysql-master
098eb0d64c3f nginx:latest "nginx -g 'daemon of…" About an hour ago Up About an hour 0.0.0.0:80->80/tcp nginx-master
12393e81e94e bilibili:1.0 "docker-entrypoint.s…" About an hour ago Up About an hour 0.0.0.0:7921->7921/tcp bilibili-reptile
570a0a0d0a9b microsoft/mssql-server-linux:2017-latest "/opt/mssql/bin/sqls…" 38 hours ago Up 38 hours 0.0.0.0:1433->1433/tcp sql-server
## 查看所有容器
$ docker ps -a
## 查看容器的基础信息
$ docker inspect <容器名称(唯一性)>
项目经过容器启动后,便可以依据ip及端口号,对bilibiliReptile爬虫项目进行访问,为避免恶意访问增加了一层api_access_key授权校验的过程;可在接口请求的时候,以GET或者headers的方式,添加api_access_key字段;