Docker 部署本地爬虫项目到服务器
笔记:一直想写一篇博客的,那就趁着周末闲暇时光记录一下。
目录
一、前提准备
二、Docker部署爬虫示例
整体梳理
1、打包构建本地项目镜像
2、在 hub 网站上 创建一个仓库。
3、将本地镜像与hub上的仓库打上标签
4、确保已登录 Dockerhub 账号
5、推送镜像到 Dockerhub 仓库中
6、推送上传成功可去 hub 上查看
7、拉取 hub 镜像
8、测试运行
一、前提准备
我是 Windows 11 环境的,要先整一个 Docker Desktop 对于它的安装这里不记录,可以参考一下这篇博客(挺详细的) Docker Desktop 安装使用教程_dockerdesktop安装-博客
二、Docker部署爬虫示例
首先要有你本地的爬虫项目,想省事的朋友,我这里准备了测试项目,git 地址:bind_news · YXHLHM/docker_test - 码云 - 开源中国 (gitee.com) mysql 表在 init 文件中。
结构如下图:
整体梳理 打包 项目依赖命令:
pipreqs ./ --encoding=utf-8
Dockerfile:运行 main.py (更多的编写命令可以百度查一下)
main.py:运行要执行的爬虫脚本
这里注意要启动的爬虫脚本命令 /bind_news/aaa_inf3.py bind_news 是你 Dockerfile 中创建的工作目录。
下面进行 docker 相关的操作
1、打包构建本地项目镜像
cmd 进入本地项目根目录进行构建:要先运行起你的 Docker Desktop
docker build -t :v1.0.0 .
# -- 镜像的名称 -- 随便起
# v1.0.0 -- 版本标签 -- 随便起
# . 是将 Dockerfile 所在的工作目录 (项目根目录) 下的所有的文件进行构建,这里是将爬虫项目的所有文件构建打包,
2、在 hub 网站上 创建一个仓库。
这个是外网要挂一个代理,它地址:Docker Hub
3、将本地镜像与hub上的仓库打上标签
先查看本地镜像:docker images
docker tag 160e513ebf4b yxhlhm/:v1.0.0
# docker tag 镜像id dockerhub账号名称/hub仓库名称:标签
4、确保已登录 Dockerhub 账号
docker login -u 用户名 -p 密码
如果提示不让执行,就直接输入:docker login 进行键入登录。下图登录成功
或者直接用Docker desktop 登录你的 hub 账号就ok,下图:
出现问题的话可以去看看:docker login Error response from daemon: Get "https://registry-1.docker.io/v_mob64ca12db3721的技术博客_51CTO博客https://blog.51cto.com/u_16213344/7074965
5、推送镜像到 Dockerhub 仓库中
docker push yxhlhm/:v1.0.0
docker push dockerhub账号/dockerhub仓库名称:标签
6、推送上传成功可去 hub 上查看
7、拉取 hub 镜像
docker pull yxhlhm/:v1.0.0
8、测试运行
1、可以直接在 Docker desktop 上 run 运行:
2、服务器拉取运行
docker pull yxhlhm/:v1.0.0
简单 run 一下:
docker run 镜像ID
MySQL 中:
其实把它想成 git 就好理解了。
拜,简单记录一下。