Rumah >Operasi dan penyelenggaraan >Docker >pycharm如何调试docker debug?

pycharm如何调试docker debug?

coldplay.xixi
coldplay.xixiasal
2020-06-12 14:34:353751semak imbas

pycharm如何调试docker debug?

pycharm如何调试docker debug?

pycharm调试docker debug的方法:

一、我们去Docker官网下载DockerToolbox,然后下一步下一步的安装就可以了

 289f42c67aeb7394251a586ef9097ab.png

二、看下我们的Docker虚拟机

Docker Toolbox是利用virtualbox帮助我们创建了一个名叫default的基于debian的虚拟机,并且帮我们做了一些处理。我们可以修改内存,修改CPU分配数量。(这些在所谓的Windows原生Docker中是无法做到的,只有2G内存,1核,无法更改)

331401486a850609f486cfa875340aa.png

我们需要关注的地方 :Docker Toolbox 默认将Users文件夹按照virtualbox的共享方式共享给了Docker虚拟机,也就是说我们的工程其实必须在Users目录下,否则的话是找不到的。

 这就是Docker Toolbox的麻烦之处,“显式的虚拟机”,你需要自己处理很多 问题

三、使用QuickStart或直接在Virtualbox里启动我们的Docker

如果是初次使用,需要到修改下我们的加速器。

https://www.daocloud.io/mirror#accelerator-doc

然后我们先pull一个镜像下来

docker pull ubuntu

我一般都采用ubuntu原始image来生成我想到的镜像

四、初始化我们的Image

做好一个用于Django的Image,基于Ubuntu的

五、创建Pycharm到Docker的连接

打开Pycharm的Interpreter,添加我们的Docker Interpreter

 6ae542359ac843798c16c09cefcbcbd.png

Pycharm会自动配置的

如果你需要多个,那就按照这种方法去创建多个基于不同Image的Interpreter就行,Pycharm一个Interpreter对应一个Docker Image

六、创建我们的工程

现在我们来创建一个工程 ,还以Django为例(因为Pycharm支持的很好),如前面所说,我们的工程必须创建在Users目录下,否则的话会找不到,用pycharm默认目录就行。

7a573d6bd34500d3fc4b8a0ae07efce.png

我们需要注意的是,当我们在创建工程时就采用Docker 的Interpreter,会出现如上上图所出现的错误,提示我们这个Interpreter不支持远程创建工程。没关系,我们先换成本地的Interpreter,先把工程创建起来,然后再修改。

七、修改Interpreter

现在我们来把Local Interpreter修改成Docker Interpreter

2b57ce5f67e07e92ef70575a8c70b2a.png

当你换好以后,Pycharm的右下角会做它该做的事,等待它,而不是停止它。

八、Debug我们的工程

1d0d182104eff5b838358836ba06c7b.png

当然,我们现在点击http://127.0.0.1:8000是无法连接到的,因为我们还没有做端口映射

九、端口映射

Docker内部映射,将我们的程序映射到Docker虚拟机的IP上(默认是192.168.99.100),我们需要修改我们的debug配置

(某些Django版本需要设置allow_hosts)

109c286414a83503f951d00f199be07.png

 

这时候程序已经可以从192.168.99.100:8000端口上访问了,你点击0.0.0.0:8000时pycharm会帮你自动跳转到192.168.99.100:8000地址上的。

推荐教程:《docker视频教程

Atas ialah kandungan terperinci pycharm如何调试docker debug?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn