https://blog.csdn.net/Wendy019900107/article/details/81985837
1. 個(gè)人開發(fā)環(huán)境如下:
(1)pycharm專業(yè)版(2018.1.2)位于windows10上
(2)docker-daemon(1.13.1)位于centos7上,centos7地址為10.74.53.141
2. 遠(yuǎn)程調(diào)試原理:
? ? 在win10上安裝pycharm,在linux上安裝docker engine作為docker-host,在docker-container里面安裝python解釋器;
??? pycharm通過tcp/2375端口與docker-host通信,可以直接發(fā)送docker指令,然后讓linux執(zhí)行,
? ? 通過docker指令,可以創(chuàng)建image,運(yùn)行container,實(shí)現(xiàn)host與container之間目錄掛載,端口映射等操作;
? ? 至于代碼的上傳,不同的docker部署方式不一樣,詳細(xì)信息,看下文。
3. 開啟dacker-daemon遠(yuǎn)程接入特性,允許pycharm連接
(1)編輯docker服務(wù)配置文件,保存修改【vim /lib/systemd/system/docker.service】
(2)重載配置,并重啟服務(wù)
? ? ? ? $ systemctl daemon-reload
? ? ? ? $ sudo service docker restart
(3)測(cè)試
? ? ? ? 在另一臺(tái)主機(jī)上,比如windows10上,telnet 10.74.53.141 2475,可以成功訪問docker-daemon
4.? pycharm:作為客戶端連接docker-host
? ? (1)新建一個(gè)純python工程,暫時(shí)python解釋器可忽略
? ? (2)連接docker-host:
? ? ? ? 導(dǎo)航欄依次點(diǎn)擊 File?---> Settings,彈窗 Settings對(duì)話框,繼續(xù)點(diǎn)擊 Build, Execution, Deployment ---> Docker?
5.?pycharm:配置docker-container(程序的運(yùn)行環(huán)境),并開始調(diào)試
? ? ? ? ?依次點(diǎn)擊【工具欄下方標(biāo)題欄右邊的下拉箭頭】---> Edit Configurations... --->? 彈出【Run/Debug Configurations】對(duì)話框 --->?? 依次點(diǎn)擊【+】---> Docker ---> 彈出下拉列表,有三個(gè)選項(xiàng):Docker Image,Docker-compose,Dockerfile。區(qū)別如下表:
? docker image dockerfile docker-compose
適用場(chǎng)景 適用于docker-host上有程序運(yùn)行所需的image 適用于docker-host上沒有有程序運(yùn)行所需的image 適用于docker-host上沒有有程序運(yùn)行所需的image
鏡像創(chuàng)建 doker-host上已經(jīng)存在 dockerfile.ini dockerfile.ini
端口映射 pycharm配置 pycharm配置 docker-compose.yml
目錄掛載 pycharm配置 pycharm配置 docker-compose.yml
容器啟動(dòng)時(shí)執(zhí)行的命令 pycharm配置 dockerfile.ini dockerfile.ini
代碼上傳 pycharm通過sftp上傳到docker-host,docker-host通過目錄掛載同步給docker-container dockerfile.ini dockerfile.ini
針對(duì)代碼的改變 無須任何變動(dòng) 需要增加dockefile.ini文件 需要增加dockerfile.ini、docker-compose.yml文件
? 6.1 采用docker image方式
? ? ? ? (1)確認(rèn)docker-host上image已經(jīng)存在
? ? ? ? (2)配置docker-host和pychram目錄映射,上傳pycharm源碼到docker-host
? ? ? ? ? ? ? 導(dǎo)航欄依次點(diǎn)擊 Tools ---> Deployment ---> Confiuration ,彈窗 Deployment對(duì)話框
? ? ? ? ? ? ? ?配置賬號(hào)和密碼,測(cè)試連接是否成功
? ? ? ? ? ? ? 配置pycharm和docker-host上的目錄映射
? ? ? ? ? ? ? 上傳pycharm工程下的代碼到docker-host上
? ? 右擊工程目錄下需要上傳到docker-host上的文件或者文件夾,依次選擇:Deployment ---> Upload to root@10.74.52.141,即可。
? ? ? ? (3)配置docker環(huán)境,并運(yùn)行程序
? ? 6.2 采用dockerfile方式
? ? ? ? (1)編寫dockerfile.ini文件
FROM caowencomeon/uwsgi:1.0
COPY src? ? ? ? /testbed/src
COPY uwsgi.ini? /testbed/uwsgi.ini
VOLUME /var/log
VOLUME /data
EXPOSE 5000
CMD ["uwsgi", "/testbed/uwsgi.ini"]
? ? ? ? (2)配置docker環(huán)境,并運(yùn)行程序
? ? 6.3 采用docker-compose方式
? ? ? ? (1)編寫docker-compose.yml文件
version: "2.0"
volumes:
? applog:
? sharedata:
services:
? app:
? ? container_name: app-dev
? ? build:
? ? ? context: ./testbed
? ? ? dockerfile: dockerfile.ini
? ? image: app-dev:docker-compose
? ? volumes:
? ? ? - applog:/var/log
? ? ? - sharedata:/data
? ? privileged: true
? ? ports:
? ? ? - 5000:5000
? ? ? ? (2)配置docker環(huán)境,并運(yùn)行程序
————————————————
版權(quán)聲明:本文為CSDN博主「薄荷_紅茶」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Wendy019900107/article/details/81985837