教程来源:https://blog.nancheung.com/archives/projector-docker
从下方选择你需要的IDE对应的命令,并执行。
1.拉取镜像
注意看每一行命令的最后,projector-xxx即是对应IDE的镜像。
如果后面有后缀的,看下方:
c:Community(社区版,免费使用)
u:Ultimate(终极版,免费试用)
p:Professional(专业版,免费试用)
docker pull registry.jetbrains.team/p/prj/containers/projector-clion
docker pull registry.jetbrains.team/p/prj/containers/projector-datagrip
docker pull registry.jetbrains.team/p/prj/containers/projector-goland
docker pull registry.jetbrains.team/p/prj/containers/projector-idea-c
docker pull registry.jetbrains.team/p/prj/containers/projector-idea-u
docker pull registry.jetbrains.team/p/prj/containers/projector-phpstorm
docker pull registry.jetbrains.team/p/prj/containers/projector-pycharm-c
docker pull registry.jetbrains.team/p/prj/containers/projector-pycharm-p
注意:该容器所有的数据都存在宿主机的~/projector-docker目录下面。
2.创建容器
docker run -p 8887:8887 -v ~/projector-docker:/home/projector-user -itd --name "$containerName" "$imageName"
将 "$imageName" 替换为下载的镜像名。比如执行的 docker pull
registry.jetbrains.team/p/prj/containers/projector-idea-u ,那么镜像名为:
registry.jetbrains.team/p/prj/containers/projector-idea-u ; 将
"$containerName" 替换为自定义的容器名。比如我拉取的idea的镜像,则替换为 idea
备注:【arm64主机(比如香橙派、树莓派)docker创建的命令】
arm64 idea社区版运行命令【不用激活,但是功能相对来说比较少】
docker run -it -d --name ide -p 8887:8887 -v /opt/idea-home:/home wdslb/projector-idea-c-arm64v8
arm64 idea终极版运行命令【需要激活,参考本博客的全家桶激活,本次idea版本为2021.3.3】
docker run -it -d --name ide -p 8887:8887 -v /opt/idea-home:/home wmdonkers/projector-idea-u
另外需要修改容器里面的"/projector/ide/bin/idea64.vmoptions"文件,添加如下参数:
-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof
--add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED
--add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED
-javaagent:/home/projector-user/win/jetbra/ja-netfilter.jar=jetbrains
/home/projector-user/win/jetbra/ja-netfilter.jar该文件对应的是激活jar包,请注意该文件是否存在。