---恢复内容开始---
简介:
或许我也应该迁移到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,重启,删除……
反正用着方便。
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.
---恢复内容结束---