前言:因为本地是windows环境,之前开发工具的时候,都是先写windows版本,上服务器的时候再改linux相关参数目录等等,版本迭代控制非常恶心。docker直接搞定可以本地开发,完成之后打包上服务器,直接run开箱即用,nice


全文目录

  • 1、准备环境
  • 2、运行原理
  • 3、构建一个支持SSH服务的镜像 ubuntu
  • 4、构建python3环境
  • 5、配置Pycharm的调试环境使用SSH连接上ubuntu-python
  • 5.1 选择菜单栏的File > Setting > Project Interpreter > Add , 添加调试环境
  • 5.2 配置添加SSH调试环境
  • 5.4 配置添加SSH调试环境中同步项目文件的路径
  • 5.5 配置完成
  • 6、配置排除SSH上传一些特定的文件


1、准备环境

  • windows10 docker 3.0.0
  • ubuntu最新的镜像环境
  • pycharm 专业版

2、运行原理

Pycharm的工具是具有通过SSH协议远程访问一个环境作为开发环境的功能的。那么只要创建一个支持SSH远程访问的容器,那么就可以提供作为开发环境了。

需要做的基本步骤:

  • 构建一个支持SSH服务的镜像 ubuntu
  • 构建基于支持SSH服务,支持执行python3环境的镜像 python_env
  • 配置Pycharm的调试环境使用SSH连接上python_env
  • 配置Pycharm自动同步项目的代码文件至python_env容器中,用于调试代码

3、构建一个支持SSH服务的镜像 ubuntu

❯ docker pull ubuntu
❯ docker pull rastasheep/ubuntu-sshd
Using default tag: latest
latest: Pulling from rastasheep/ubuntu-sshd
a48c500ed24e: Pull complete
1e1de00ff7e1: Pull complete
0330ca45a200: Pull complete
471db38bcfbf: Pull complete
0b4aba487617: Pull complete
b42109ad2a3d: Pull complete
dde737735b18: Pull complete
d836c14266f7: Pull complete
5ed86b5d4a15: Pull complete
5273c120f396: Pull complete
b0299e0551df: Pull complete
0ae38e059780: Pull complete
ca79c723275f: Pull complete
Digest: sha256:1a4010f95f6b3292f95fb26e442f85885d523f9a0bb82027b718df62fdd0d9e9
Status: Downloaded newer image for rastasheep/ubuntu-sshd:latest
docker.io/rastasheep/ubuntu-sshd:latest
❯ docker run -d --name Reaper -p 122:22 -p 80:80 -p 13306:3306 rastasheep/ubuntu-sshd
de03881127d6ca84e19b3720a9e724c4713a4fdd540cd52ecdb540ad04338e09
getf_@BIUBIUBIU   base  ~                                                                                                                                                         [19:45]
❯ docker exec -it de0 /bin/bash
root@de03881127d6:/# passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@de03881127d6:/# exit
exit

如上,我下载了一个容器并创建镜像,进入其中修改root用户的密码,方便之后连接服务器,测试如下:

pycharm docker 联调 pycharm使用docker环境_ssh

4、构建python3环境

命令直接按我的来即可,不懂得自行百度

apt update
# 自己选一个目录开始后面的安装操作
wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tar.xz
apt-get remove --auto-remove python2.7
apt-get remove --auto-remove python3.6
tar -xvJf  Python-3.8.1.tar.xz
sudo apt-get install python-dev
sudo apt-get install libffi-dev
sudo apt-get install libssl-dev
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev
./configure prefix=/usr/local/python3
make && make install
ln -s /usr/local/python3/bin/python3 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
python -V

觉得慢的可以自行换源,换源之前还是要先装一下vim的

root@de03881127d6:/usr/local/python3/bin# python -V
Python 3.8.1
root@de03881127d6:/usr/local/python3/bin# pip list
Package    Version
---------- -------
pip        20.3.3
setuptools 41.2.0

5、配置Pycharm的调试环境使用SSH连接上ubuntu-python

5.1 选择菜单栏的File > Setting > Project Interpreter > Add , 添加调试环境

pycharm docker 联调 pycharm使用docker环境_linux_02

5.2 配置添加SSH调试环境

pycharm docker 联调 pycharm使用docker环境_pycharm_03


pycharm docker 联调 pycharm使用docker环境_ssh_04


pycharm docker 联调 pycharm使用docker环境_python_05

5.4 配置添加SSH调试环境中同步项目文件的路径

pycharm docker 联调 pycharm使用docker环境_python_06

5.5 配置完成

pycharm docker 联调 pycharm使用docker环境_pycharm docker 联调_07


结束之后本地都会同步过去

pycharm docker 联调 pycharm使用docker环境_linux_08


但是对于venv这个虚拟环境的文件,应该是要排除上传的,下面来配置一下。

6、配置排除SSH上传一些特定的文件

pycharm docker 联调 pycharm使用docker环境_pycharm docker 联调_09


pycharm docker 联调 pycharm使用docker环境_pycharm_10


pycharm docker 联调 pycharm使用docker环境_pycharm docker 联调_11


三个都要同理配置即可

over