由于懒得背笔记本去上课,于是就产生了用 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 详解》