type
status
date
summary
tags
category
URL
password
slug
icon
前言
最近想用python开发一个防火墙安全策略管理的软件,如果直接安装pycharm的开发环境,导致自己笔记本安装的东西越来越多,造成混乱,因此花了几天的时间构建了一个PyCharm的开发环境Docker镜像!
一、准备工作
(1)我使用的操作系统为Win10,已经安装了Docker for Windows。现在Docker安装已经很容易了,网上资源也比较多!可以参考:安装 docker for windows 博客。记得更新docker的镜像源为下面中的一个,也可以到网上再找到更好的源:
(2)桌面Ubuntu Docker使用还需要安装VNC Viewer软件来显示界面,RealVNC很简单,建议使用!
二、Ubuntu桌面Docker镜像下载和配置
1. 运行ubuntu镜像
(1) 通过docker search ubuntu,发现ubuntu桌面dorowu/ubuntu-desktop-lxde-vnc镜像的评价不错,用下面命令获取该docker镜像!
- docker pull dorowu/ubuntu-desktop-lxde-vnc
(2)新建一个供后续开发的目录,例如xfce_py,在该目录下增加docker-compose.yml如下:
(3)cmd进入xfce_py目录,docker-compose up命令运行该镜像,运行RealVNC,新建VNC连接,VNC Server设置为:127.0.0.1:30000,无需输入密码,就可以显示ubuntu镜像的运行界面了。
(4)Ubuntu中用如下命令安装gedit和中文输入法googlepinyin
修改./pycharm.sh,增加下面配置
在ubuntu桌面system tools菜单中首先运行fcitx,preferences菜单中再运行fcitxconfigure,在input method Tab页面增加googlepinyin输入法。通过shift健切换,就可以用googlepinyin输入中文了。
(5)使用下面命令提交对镜像的更改,这样下次启动ubuntu时就有gedit和googlepinyin了。记得修改docker-compose.yml文件中镜像名称为jiang/ubuntu-pycharm:latest。
2. PyCharm安装和Ubuntu配置
由于pycharm IDE、项目和umbuntu捉摸总是要改变,不能保存在容器中,因此需要通过存储映射的方式将它们保存在host的文件下面。
(1)在xfce_py目录下新建root/Desktop、opt/pycharm/pycharm-community-2020.3、/ACL_RuleMan三个文件夹。分别对应桌面、pycharm IDE和项目的文件夹!
(2)在docker-compose.yml文件中增加磁盘映射
(3)下载pycharm压缩包并解压缩
启动ubuntu容器,进入/opt/pycharm目录,运行下面命令进行下载和解压。
进入/opt/pycharm/pycharm-community-2020.3/bin目录,运行./pycharm.sh脚本,pycharm就运行了。启动时,可以设置pycharm的project目录为/home/ACL_RuleMan。
(4)增加pycharm桌面快捷方式
编写pycharm.desktop,保存在/root/Desktop文件夹中,ubuntu桌面就显示了pycharm的快捷方式,图标暂借用了fcitx的图标!
(5)ubuntu显示分辨率配置
ubuntu-desktop-lxde-vnc镜像默认显示分辨率似乎是1280x768,可以在docker-compose.yml中采用如下配置改变合适的分辨,(我的液晶显示器为1920x1080)
总结
经过几天的尝试,终于比较顺利完成pycharm环境的docker构建,dorowu/ubuntu-desktop-lxde-vnc:latest镜像用起来简单,没出问题!最终的画面显示如下图,docker-compose.yml我也上传了!docker-compose.yml的csdn资源
上一篇
OpenVAS docker container setup (Working 2022, all NVTs) | by dh0ck | System Weakness
下一篇
自建 Gotosocial | 一个 ActivityPub 联邦社交网络程序 - 独立世界
- Author:NetSec
- URL:https://blog.51sec.org/article/2d6ffe10-1535-4485-92ad-566541e8de32
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!