Docker部署selenium程序-从本地到云服务器-详细步骤

简介: Docker部署selenium程序-从本地到云服务器-详细步骤

前言

`相信大家在本地写的selenium程序有时候会经常要在本地定时运行,但是一直放在本地总是比较繁琐,今天教大家如何用docker将本地selenium程序部署到云服务器中后台运行


一、项目文件放到服务器中

该环节主要是将本地的程序文件和依赖文件放到服务器当中

  • 1、先要把requirements.txt文件导出,
    很简单
    在项目的目录终端输入两条命令就ok了

                pip freeze > requirements.txt  
                pip install -r requirements.txt 
    
  • 使用git工具将项目拉取到云服务器中,git有小伙伴不会使用可以看一下
    git简单操作,几分钟就能使用

二、Docker在Centos7中的下载

这里如果有小伙伴未使用过Docker,可以跳转到尚硅谷Docker实战这一节学习安装
https://www.bilibili.com/video/BV1gr4y1U7CY?p=11&spm_id_from=333.880.my_history.page.click&vd_source=92669d6611115d3f4999ff10432158a9

三、设置镜像加快下载速度

  • 查看是否在docker.service文件中配置过镜像地址
systemctl cat docker | grep '\-\-registry\-mirror'

若有输出,则执行systemctl cat docker查看ExecStart出现位置,修改对应文件去掉--registry-mirror参数及其值,再执行接下来的步骤


  • 编辑/etc/docker/daemon.json文件
vi etc/docker/daemon.json
{
   
    "registry-mirrors": [
    "https://mirror.baidubce.com",
    "https://docker.mirrors.ustc.edu.cn/"
    ]
}

  • 保存退出镜像就设置成功了
    之后在重启一下
systemctl daemon-reload
systemctl restart docker

四、编写dockerfile

在你的main.py的目录当中vim Dockerfile创建Dockerfile文件

FROM python:3.7   # 以py3.7为镜像基础

ENV PATH /usr/local/bin$PATH  # 设置环境

ADD . /《你的项目文件名即可》


WORKDIR /《你的项目文件名即可》

RUN pip install -r requirements.txt # 下载依赖

编写完了之后执行docker build . -t selenium_py:v1
selenium_py:镜像名
v1:版本号

执行了执行docker images看是否有镜像已查看是否镜像生成成功


五、编写Docker-compose

同样在当前目录执行vim docker-compose.yml

然后在这个文件编写docker-compose:

version: "2.0"
services:
  python:
    image: selenium_py:v1
    volumes:
      - ./main.py:/root/main.py  # 将本地文件映射到容器内,前面的路径是本机的,后面的是容器的。注意:可以指定具体文件,也可以指定路径
    command: python /root/main.py  # 定义启动容器执行的命令
    depends_on:
      - chrome #映射的域名,脚本中要把域名改成这个
  chrome:
    image: selenium/standalone-chrome:latest
    ports:
      - "4444:4444"
    shm_size: 2g

保存退出


六、执行项目

这是一个简单示范

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
import time

time.sleep(5)
driver = webdriver.Remote(
    command_executor="http://chrome:4444/wd/hub",
    desired_capabilities=DesiredCapabilities.CHROME
)            # 一定要注意这里跟本地的直接Chrome()是不一样的!!!

driver.get("https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=baidu&wd=%E5%A5%B3%E7%A5%9E%E8%8A%82%E5%BF%AB%E4%B9%90&oq=iPad%25E7%2594%25BB%25E6%25B0%25B4%25E5%25BD%25A9&rsv_pq=da863c960031fa89&rsv_t=320bU5S7GOOB43J2GLgjE66RWcLR2giCuNktmA5I6Wm7VcW7dZ1It2hKWxs&rqlang=cn&rsv_enter=1&rsv_dl=tb&inputT=8595&rsv_sug3=16&rsv_sug1=14&rsv_sug7=101&rsv_sug2=0&rsv_sug4=11686")
content = driver.title.split("_")[0]
print(content)
driver.close()

执行docker-compose up

看到输出:女神节快乐
运行成功

之后就可以重新运行docker-compose up -d进行后台运行


总结

至此整个流程就结束了

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
弹性计算 监控 负载均衡
|
1月前
|
存储 Linux Docker
docker在欧拉服务器上编译安装应该注意什么?如何操作?
【10月更文挑战第31天】docker在欧拉服务器上编译安装应该注意什么?如何操作?
57 2
|
27天前
|
弹性计算 开发工具 git
2分钟在阿里云ECS控制台部署个人应用(图文示例)
作为一名程序员,我在部署托管于Github/Gitee的代码到阿里云ECS服务器时,经常遇到繁琐的手动配置问题。近期,阿里云ECS控制台推出了一键构建部署功能,简化了这一过程,支持Gitee和GitHub仓库,自动处理git、docker等安装配置,无需手动登录服务器执行命令,大大提升了部署效率。本文将详细介绍该功能的使用方法和适用场景。
2分钟在阿里云ECS控制台部署个人应用(图文示例)
|
1月前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
2月前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
331 3
|
2月前
|
NoSQL Linux PHP
|
弹性计算 运维 Kubernetes
使用ECS服务器学习Docker
使用ECS服务器学习Docker
使用ECS服务器学习Docker
|
20天前
|
人工智能 弹性计算 编解码
阿里云GPU云服务器性能、应用场景及收费标准和活动价格参考
GPU云服务器作为阿里云提供的一种高性能计算服务,通过结合GPU与CPU的计算能力,为用户在人工智能、高性能计算等领域提供了强大的支持。其具备覆盖范围广、超强计算能力、网络性能出色等优势,且计费方式灵活多样,能够满足不同用户的需求。目前用户购买阿里云gpu云服务器gn5 规格族(P100-16G)、gn6i 规格族(T4-16G)、gn6v 规格族(V100-16G)有优惠,本文为大家详细介绍阿里云gpu云服务器的相关性能及收费标准与最新活动价格情况,以供参考和选择。
|
26天前
|
机器学习/深度学习 人工智能 弹性计算
什么是阿里云GPU云服务器?GPU服务器优势、使用和租赁费用整理
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等多种场景。作为亚太领先的云服务提供商,阿里云的GPU云服务器具备灵活的资源配置、高安全性和易用性,支持多种计费模式,帮助企业高效应对计算密集型任务。
|
27天前
|
存储 分布式计算 固态存储
阿里云2核16G、4核32G、8核64G配置云服务器租用收费标准与活动价格参考
2核16G、8核64G、4核32G配置的云服务器处理器与内存比为1:8,这种配比的云服务器一般适用于数据分析与挖掘,Hadoop、Spark集群和数据库,缓存等内存密集型场景,因此,多为企业级用户选择。目前2核16G配置按量收费最低收费标准为0.54元/小时,按月租用标准收费标准为260.44元/1个月。4核32G配置的阿里云服务器按量收费标准最低为1.08元/小时,按月租用标准收费标准为520.88元/1个月。8核64G配置的阿里云服务器按量收费标准最低为2.17元/小时,按月租用标准收费标准为1041.77元/1个月。本文介绍这些配置的最新租用收费标准与活动价格情况,以供参考。