由于懒得背笔记本去上课,于是就产生了用 Ipad 编程的想法,上网搜了一下并没有适配 Ipad 的 IDE ,但是看到了一篇文章提到 1.0GA 的 Projector ,便照着这篇文章进行了尝试,顺便把过程记录下来

如需转载,注明出处即可

Git 和 Docker 环境是前提,如果已经有这两个环境,则可直接跳到 克隆官方源码 这一步

安装 Git 环境

# 安装指令
sudo apt-get install git -y
# 查看版本
git --version

安装 Docker 环境

1. 卸载旧版本

sudo apt-get remove docker docker-engine docker.io containerd runc

2. 设置存储库

2.1. 更新 apt 包索引并安装包以允许 apt 通过 https 使用存储库

sudo apt-get update

2.2. 添加 Docker 的官方 GPG 密钥

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

2.3. 根据自己的系统设置稳定的存储库

sudo add-apt-repository \"deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \$(lsb_release -cs) \stable"
不同系统更改中括号内的 arch 即可
1. x86_64/amd64 : "[arch=amd64]"
2. armhf : "[arch=armhf]"
3. arm64 : "[arch=arm64]"

3. 安装引擎

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y

4. 验证是否安装成功

4.1. 查看 Docker 版本

docker -v


4.2. 运行 hello-world 镜像

sudo docker container run hello-world

克隆官方源码

PS:这里需要严格按照步骤执行

1. 进入目录执行这条命令,我的目录是 ~/Containers/projector

git clone https://github.com/JetBrains/projector-docker.git

如果速度太慢或无法克隆,可以上码云(gitee)搜索 projector-docker 的公开库,复制相应的克隆语句并执行

会在此目录下生成projector-docker目录

2. 进入到 projector-docker 目录下执行这条命令

sudo vim run-container-mounted.sh

修改容器的挂载点:我这里把容器的 /home/projector-user 目录挂载到宿主机的 /home/rsy/Containers/projector/projector-user 目录

另外:containerName 为容器名,可根据需求自行修改

3. 继续在 projector-docker 目录下执行这条命令,克隆 projector-server 源码

./clone-projector-core.sh


会在 projector-docker 的父目录下生成 projector-server 目录

如果速度太慢或无法克隆,同样可以上码云(gitee)搜索 projector-server 公开库,并在projector-docker 的父目录下执行相应的克隆语句(比如我这里的 projector 目录下),必须让 projector-docker 和 projector-server 两个目录同级

编译容器

1. 在 projector-docker 目录下,执行这条命令,修改容器版本

sudo vim build-container.sh

修改 downloadUrl 为自己想要下载的版本(建议先打开浏览器看看修改后的 url 是否能下载)

注意:如果修改了 run-container-mounted.sh 中的 containerName,则此处的 containerName 需要与之对应

2. 开始编译(编译时最好在墙外,不然 Gradle 会报错)

sudo ./build-container.sh

运行容器

1. 运行容器

sudo ./run-container-mounted.sh

2. 新建一个终端,查看容器是否运行

docker ps

3. 访问本机 8887 端口,会出现以下提示,原因是访问挂载目录受限


修改挂载目录权限即可(挂载目录为 run-container-mounted.sh 中对应的目录)

sudo chmod 777 projector-user/



接着便可以正常访问了,本机访问与外部访问均可

后续操作

1. 配置容器内 JDK

将jdk移到挂载目录

终端输入下列命令进入容器,查看上一步是否成功

docker ps
# 找到容器的12位短ID
docker exec -it 容器短ID /bin/bash

容器内的/home/projector-user就是挂载到宿主机/home/rsy/Containers/projector/projector-user的目录

Idea 添加 JDK 即可,Maven 等环境同理

2. 新增 Docker端口映射

回到 /projector-docker 目录下,编辑 run-container-mounted.sh 文件,新增如下信息

-p 宿主机端口:容器端口
exp:-p 18080:8080(将容器内的 8080 端口映射到宿主机的 18080 端口)


重新运行容器,这里我用 Springboot 举例,容器内的端口为 8080(默认的),访问宿主机的 18080 端口即可

结语

当然除了 Idea 外,Clion、Datagrip、Goland、Phpstorm、Pycharm、Webstorm都可以,只要更改 build-container.sh 里面的 downloadUrl 即可

参考文章:
《我在iPad Air 和 iPhone上都装了个IntelliJ IDEA,撸了一个SpringBoot项目,牛逼哄哄…》
《Ubuntu 20.04 安装 docker 详解》

让Ipad买前爱奇艺买后生产力——浏览器编程之Projector运行Idea(超详细)相关推荐

  1. 爱奇艺会员怎么买便宜,爱奇艺会员最划算的购买方法

    很多用户都喜欢用爱奇艺来看电影电视剧,但是不知道爱奇艺会员怎么买便宜,下面办公人导航就和大家分享爱奇艺会员最划算最便宜的购买方法. 爱奇艺会员最划算的购买方法就是通过其官方的优惠活动链接进入购买. 1 ...

  2. 电视为何降价至200元依然没人买?爱奇艺给出了答案

    近日爱奇艺提高降低会员的服务内容,消费者要享受到将内容投放到电视就要买更贵的会员服务,引发热议,此举或许能解释国内消费者为何如今不买电视了. 2022年电视行业可谓是一个相当惨淡的行业,量价齐跌,随着 ...

  3. 爱奇艺JAVA后台面经

    链接:https://www.nowcoder.com/discuss/217425 1.volatile关键字的含义 2.Java NIO 讲一下 2.1 NIO selector,epoll的区别 ...

  4. 爱奇艺iOS深度实践 | SiriKit详解应用篇

    前言 苹果全球开发者大会(Worldwide Developers Conference,下文简称WWDC)自1983年加州首次举办以来至今一直备受iOS 开发者关注,第一代 iOS 也从2007年一 ...

  5. 从中关村到纳斯达克,龚宇的奇异8年与爱奇艺的全新时代

    十余载岁月风云,视频江湖风起云涌,大浪淘沙后爱奇艺.腾讯视频.优酷土豆三足鼎立之势已成. 北京时间 3 月 29 日晚间,爱奇艺在美国纳斯达克市场敲钟上市,证券代码为IQ,IPO 定价每股 18 美元 ...

  6. 怎么取消苹果手机自动续费_请教大神们…苹果ID如何取消爱奇艺的自动续费?...

    前年在买什么会员(忘了,不是京东就是淘宝)时候赠送了爱奇艺会员(放长线钓大鱼),去年到期后也没有注意久远的事情了,结果爱奇艺来了个自动续费.218大洋啊,心痛!关键是买了爱奇艺基本上没怎么看过,主要的 ...

  7. 为什么爱奇艺会显示联通免流量服务器,联通爱奇艺流量定向包是怎么回事啊,是不是开通之后,这一个月里面看视讯免流量的...

    联通爱奇艺流量定向包是怎么回事啊,是不是开通之后,这一个月里面看视讯免流量的以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧 ...

  8. 百度收购PPS敲定 与爱奇艺整合将成难点

    [导读]这次并购表面看来,相比优酷收购土豆,爱奇艺和PPS之间更为互补:前者优势是在线视频,后者优势是客户端;爱奇艺的用户主要集中在一二线城市,而PPS更受三四线城市用户喜欢.不过,由于优酷合并土豆的 ...

  9. 爱奇艺客户端 “白嫖” 电视机,后台满速上传

    出品 | OSC开源社区(ID:oschina2013) 网友发帖称,自己的电视机在息屏休眠状态时,居然持续保持着 1-5M/s 的上传速度,直至断掉电源才停止上传. 他表示这是新买的电视机,安装的 ...

  10. 爱奇艺iOS稳定性测试实践

    稳定性测试是长时间持续运行APP,以验证应用是否稳定的测试.它可以有效发现APP长时间运行下的偶发闪退.内存泄露.性能变差等问题.iOS端通常由苹果系统的API快速执行点击事件,开展稳定性测试,类似的 ...

最新文章

  1. 简洁易懂,初学者挑战学习Python编程30天 (一)
  2. [云炬创业管理笔记]第一章测试1
  3. HP前女老板Dunn和Carly的琐碎事
  4. 史上最牛的文科生:法学出身,却发明出十进制计算器,折磨无数人的微积分符号,跨界40多个领域惊艳学术圈
  5. 160 - 20 BuLLeT.8
  6. 【poj3358】消因子+BSGS 或 消因子+欧拉定理 两种方法
  7. Chromium版Edge体验——几个理由告诉你为什么卸载Chrome!
  8. 数字图像相关基础知识
  9. 如何在几秒钟内退出所有 Mac 应用程序?
  10. Linux中进程的基本概念
  11. 阿帕奇apache服务器和webDav服务器快速配置。
  12. indesign怎么拼图_自己动手制作个性相册
  13. ensp中路由器(华为设备)的基本使用
  14. Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException
  15. C练题笔记之:牛客-HJ029.字符串加密
  16. 查询跟踪快递物流,筛选因拒收退回的单号
  17. UNIT07 BREs EREs PREs
  18. UnityEditor之属性1
  19. 拯救行动(变种bfs)
  20. OMI数据-官网资料的记录

热门文章

  1. keras input 层
  2. matlab 空集判定,在使用matlab 符号运算中的solve函数时,为啥计算的结果是空集?该怎么办?...
  3. java 世界时间_Java对世界不同时区timezone之间时间转换的处理方法
  4. debugger使用
  5. java三三剩二五五剩三,大年三十彩灯悬,彩灯齐明光灿灿,三三数时能数尽,五五数时剩一盏,七七数时刚刚好,八八数时还缺三,...
  6. 使用JS 实现 分享到 新浪微博 QQ 空间
  7. 傻事大征集:进来晾晾你小时候干过的傻事!www.11xp.com
  8. 第四天 游戏策划学习
  9. centos下Vim编辑器配置
  10. QT如何给exe添加图标