PyCharm进行远程开发和调试linux服务器

---恢复内容开始---

简介:

或许我也应该迁移到linux环境去开发。

最近写的一些小东西,在wnidows上开发,在windows上调试,都很正常。可是一旦放进linux服务器,就歇菜了。

那么我们有什么办法处理这个windows和linux的兼容问题呢?在linux开发,或者在linux环境下开发。看着差不多,但是意思真不一样。

在linux开发,那就是用linux操作系统进行开发。

在linux环境下开发,那就不限于在linux操作系统进行开发,我们可以在windows下写代码,放在linux环境中执行。

不去换操作系统了,直接在windows下写代码,用linux环境执行吧。

一:创建linux环境镜像

虽然我有个NUC跑着fedora(linux),但是我喜欢部署到alpine-docker里面去,而且也不希望任何开发环境再把我的nuc搞乱,那么还是用docker创建一个可以用来执行python解析的环境吧。

1.docerfile

from alpine:3.7
MAINTAINER jackadam<[email protected]>
#变更源
# 安装包源切到中科大, 国内访问加速
RUN { \
        echo 'http://mirrors.ustc.edu.cn/alpine/v3.7/main'; \
        echo 'http://mirrors.ustc.edu.cn/alpine/v3.7/community'; \
        echo 'http://mirrors.ustc.edu.cn/alpine/edge/main'; \
        echo 'http://mirrors.ustc.edu.cn/alpine/edge/community'; \
        echo 'http://mirrors.ustc.edu.cn/alpine/edge/testing'; \
    } > /etc/apk/repositories && \

# 设置默认时区为亚洲/上海 (没有北京可选)
        apk add --no-cache --upgrade apk-tools  openssh  tzdata&& \
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    echo "Asia/Shanghai" > /etc/timezone && \
    apk del tzdata 
#修改root密码
RUN echo root:123456 | chpasswd
#生成KEY
RUN ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -P '' -N ''
#允许远程登录
RUN sed -i "s/#PermitRootLogin.*/PermitRootLogin yes/g" /etc/ssh/sshd_config
#开放22端口
EXPOSE 22

CMD /usr/sbin/sshd -D

使用这个dockerfile创建一个docker镜像

2.build.sh

echo 停止容器
docker stop ssh
echo 删除容器
docker rm ssh
echo 临时禁用selinux
setenforce 0 
echo 重建镜像
docker build -t ssh .
echo 恢复启用selinux
setenforce 1 
echo 启动容器
docker run -d -t --restart=always --privileged --name ssh -p 2222:22  ssh

使用这个脚本来创建镜像,并启动容器。因为我老忘记selinux,重启,删除……

反正用着方便。

扫描二维码关注公众号,回复: 96151 查看本文章

3.尝试远程登录,并安装python

Winscp,putty,都可以正常登录这个2222端口的容器即可。

安装python的命令是:apk add python3

二:配置docker,开放2375管理端口

1.修改或创建/etc/docker/daemon.json

{
    "registry-mirrors": ["http://*********.m.daocloud.io"],    #这行是注册docker镜像服务器
    "graph": "/storage/docker",    #这行是修改docker存储位置
    "hosts":["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"] #这行是开启2375端口
}

其实只写2375端口那行就可以了。别忘了上下的大括号,还有就是每行最后有个半角逗号,最后一行没有。

2.重启docker

systemctl restart docker

3.验证

netstat -tulnp |grep docker

看到监听2375就对了。

三:配置防火墙,开放2375端口

1.添加防火墙规则,开放2375

firewall-cmd --zone=public --add-port=2375/tcp --permanent

2.重新读取规则

firewall-cmd --reload

3.测试

保证2375已经被防火墙放行。

四:

1.

2.

3.

五:

1.

2.

3.

六:

1.

2.

3.

七:

1.

2.

3.

八:

1.

2.

3.

九:

1.

2.

3.

十:

1.

2.

3.

---恢复内容结束---

猜你喜欢

转载自www.cnblogs.com/jackadam/p/8976873.html