本文使用的操作系统时ubuntu

1、安装docker

可以参考该链接安装docker

2、拉取hello-world镜像测试

2.1 首先需要改修改/etc/docker/daemon.json 文件,因为docker服务器再国外,我们无法正常拉取镜像,所以就需要我们为docker设置国内阿里云的镜像加速器,不然拉取镜像的时候会报 Unable to find image 的错误。

cd /etc/docker

#创建daemon.json文件

sudo touch daemon.json

#写入以下内容

{

"registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"]

}

2.2 重启docker

systemctl restart docker / service docker restart

2.3 镜像拉取

docker run hello-world

2.4 运行docker ps 就可以看到正在运行的docker镜像啦!

3. 安装Docker Compose

pip install docker-compose

查看docker-compose是否安装成功

docker-compose version

4. 拉取crawlab 镜像

3.1 拉取 Crawlab 和 MongoDB 的镜像

可以使用 docker search crawlab/mongo 查看docker hub上已经发布的镜像,选择自己想要下载的镜像,默认下载最新的

docker pull tikazyq/crawlab

docker pull mongo

3.2 配置 docker-compose.yml

创建文件

touch docker-compose.yml

在 docker-compose.yml输入以下内容

文件里面对应的image 要和自己拉取的 crawlab 和 mongo 镜像名一一对应,运行docker imags 查看自己已经拉取的镜像。container_name 是要启动的容器名字,这个随意命名。ports 是端口映射,本机端口:容器内端口 。

version: '3.3'

services:

master:

image: tikazyq/crawlab:latest

container_name: crawlab_panel

restart: always

environment:

CRAWLAB_SERVER_MASTER: "Y"

CRAWLAB_MONGO_HOST: "mongo"

ports:

- "7777:8080"

depends_on:

- mongo

mongo:

image: mongo:latest

restart: always

ports:

- "27003:27003"

5.检查端口是否开启

参考该地址检查配置的端口在本机是否开启 没开启的话,需要开启端口才能访问。开启后重启docker服务

systemctl restart docker / service docker restart

6.启动 Crawlab

docker-compose up -d

现在您可以打开浏览器并导航到 http://localhost:7777 并开始使用 Crawlab。

7. 第一次Crawlab上传爬虫

1、安装 CLI 命令行工具

pip3 install crawlab-sdk

2、登录获取Token

端口号使用的是 docker容器内crawlab的端口

crawlab login -u admin -a http://localhost:8080/api

上传爬虫

cd /app/spiders/crawler

> /app/spiders/crawler 是项目文件在的路径

crawlab upload

8 问题小计

8.1.在一次配置好后启动crawlab后, 启动docker-compose up -d 后在浏览能访问,但是一直是502。

在查看日志之后是redis启动不了的问题,可能是之前配置的redis啥的出了问题??。使用 docker-compose logs master查看日志。 这时重新拉取了redis 镜像,然后在docker-compose.yml重新输入以下内容

version: '3.3'

services:

master:

image: tikazyq/crawlab:latest

container_name: crawlab_panel

restart: always

environment:

CRAWLAB_SERVER_MASTER: "Y"

CRAWLAB_MONGO_HOST: "mongo"

CRAWLAB_REDIS_ADDRESS: "redis"

ports:

- "7777:8080"

depends_on:

- mongo

- redis

mongo:

image: mongo:latest

restart: always

ports:

- "27003:27003"

redis:

image: redis

restart: always

ports:

- "6379:6379"

再次启动docker-compose up -d 问题搞定。

8.2 在重启crawlab 容器后,有时会出现crawlab登录出现502的问题

这时需要进入容器内,登录获取token,重新获取认证,

端口号使用的是 docker容器内crawlab的端口 ,之后输入crawlab登录的密码 crawlab login -u admin -a http://localhost:8080/api

相关阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: