利用PyCharm+Docker搭建本地爬虫运行环境

利用PyCharm+Docker搭建本地爬虫运行环境

本地环境:windows10

服务器:虚拟机环境centos7

docker版本:19.03.8

规范一下:

本地项目的路径:F:\Workspace\docker_works

服务器(虚拟机)项目的路径:/home/docker_works

docker容器的项目的路径:/opt/project

PyCharm中配置Docker环境

pycharm中新建一个docker配置

name:docker配置名称

TCP socket:tcp://ip:2375

路径映射:服务器(虚拟机)路径:本地路径

在这里插入图片描述

上面配置的tcp链接的ip是服务器(虚拟机)IP

但是,docker本身只允许自己的客户端去链接服务端,如果外部想要链接服务端,需要做相关配置。

打开或者新建daemon.json文件

vim /etc/docker/daemon.json

配置允许远端链接

{
  "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"],# 换成你自己的加速,或者不要
  "hosts": [
    "tcp://0.0.0.0:2375",
    "unix:///var/run/docker.sock"
]
}

重启docker

service docker restart

如果重启失败,检查daemon.json配置是否有错误,要严格符合json规范。

也有可能是 docker 的 socket 配置hosts出现了冲突,配置host也能重启但是不生效。

解决方法:

vim /usr/lib/systemd/system/docker.service
# ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
# 注释掉上面,替换成下面这样 
ExecStart=/usr/bin/dockerd

重启docker,期间可能要你reload一下。

systemctl reset-failed docker.service && systemctl restart docker

如果链接成功,会出现上图的connection successful,如果没有成功,检查一下是否防火墙没有放行2375端口。

一切正常的话,现在可以在pycharm中看到docker的镜像与容器。
在这里插入图片描述

PyCharm中利用Docker运行Python程序

docker pull好Python镜像(参考https://github.com/docker-library/docs)

pycharm中配置docker的Python解释器
在这里插入图片描述
如果现在在pycharm中运行代码,还是运行在本地,我们还需要做本地代码上传到远程服务器(虚拟机)。

配置SFTP

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意上面的路径映射,本地代码与远程代码要同步。

还有自动上传要勾选上,这样本地代码有改动就自动上传到服务器(虚拟机)。

这个时候可以测试一下,运行Python代码。

最后,还有两个配置,不想解释了,好累。。。

注意这些配置所有的路径映射要对应上。

在这里插入图片描述

在这里插入图片描述

最后

总结一下

1、配置Docker环境

2、配置daemon.json文件

3、配置docker的Python解释器

4、配置SFTP

5、做好路径映射

整个流程结束,我们可以在pycharm中管理远程docker,并且运行Python代码,这样代码会直接在docker容器中执行。一键到位。

在这里插入图片描述

还有如果本地是Dockerfile文件,那么可以直接右键运行。

如果本地是docker-compose.yaml文件,那么还是需要在服务器up运行。

最后的最后,Python也可以开启远程SSH,就在配置SFTP那边,tools–>start ssh session–>选择服务器

谢谢。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值