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
相关文章
|
17天前
|
弹性计算 Ubuntu Linux
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS自动化部署。支持Ubuntu 22.04/20.04、CentOS 7.7-7.9及Alibaba Cloud Linux 3.2104 LTS。前提条件:ECS实例需运行中且有公网。步骤:选择Docker扩展并安装,验证成功通过命令`docker -v`查看版本号。
191 79
|
6天前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
37 23
|
7天前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
38 22
|
10天前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
50 25
|
22天前
|
Ubuntu Linux 开发工具
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成标准化单元(容器),确保在任何支持 Docker 的操作系统上一致运行。容器共享主机内核,提供轻量级、高效的执行环境。本文介绍如何在 Ubuntu 上安装 Docker,并通过简单步骤验证安装成功。后续文章将探讨使用 Docker 部署开源项目。优雅草央千澈 源、安装 Docker 包、验证安装 - 适用场景:开发、测试、生产环境 通过以上步骤,您可以在 Ubuntu 系统上成功安装并运行 Docker,为后续的应用部署打下基础。
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
|
11天前
|
SQL 关系型数据库 MySQL
docker-compose部署mysql8
使用docker-compose容器化部署mysql8
|
3月前
|
Web App开发 前端开发 JavaScript
探索Python科学计算的边界:利用Selenium进行Web应用性能测试与优化
【10月更文挑战第6天】随着互联网技术的发展,Web应用程序已经成为人们日常生活和工作中不可或缺的一部分。这些应用不仅需要提供丰富的功能,还必须具备良好的性能表现以保证用户体验。性能测试是确保Web应用能够快速响应用户请求并处理大量并发访问的关键步骤之一。本文将探讨如何使用Python结合Selenium来进行Web应用的性能测试,并通过实际代码示例展示如何识别瓶颈及优化应用。
190 5
|
1月前
|
Web App开发 IDE JavaScript
Selenium IDE:Web自动化测试的得力助手
Selenium IDE:Web自动化测试的利器。作为开源工具,Selenium IDE支持录制与回放用户操作,适用于Chrome、Firefox等多浏览器,简化了测试流程,提升了效率,降低了自动化测试的门槛。它还支持导出多种编程语言的脚本,便于测试集成与复用。
112 31
Selenium IDE:Web自动化测试的得力助手
|
1月前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
209 17
Selenium:强大的 Web 自动化测试工具
|
3月前
|
Java 测试技术 C#
自动化测试之美:从Selenium到Appium
【10月更文挑战第3天】在软件开发的海洋中,自动化测试如同一艘航船,引领着质量保证的方向。本文将带你领略自动化测试的魅力,从Web端的Selenium到移动端的Appium,我们将一探究竟,看看这些工具如何帮助我们高效地进行软件测试。你将了解到,自动化测试不仅仅是技术的展示,更是一种提升开发效率和产品质量的智慧选择。让我们一起启航,探索自动化测试的世界!

热门文章

最新文章