how to build in docker docker编译环境搭建方法 Linux - wiselike/leanote-of-unofficial GitHub Wiki
amd64/arm64 架构docker中编译leanote环境的搭建方法
第一步:下载已制作好的编译镜像包(根据自己设备类型,选择arm64或者amd64包下载,不可两个都下载)
- amd64设备,请按此步骤:
amd64设备,下载leanote_amd64_build.tar.xz文件到设备上
leanote_amd64_build.tar.xz.00
leanote_amd64_build.tar.xz.01
leanote_amd64_build.tar.xz.02
leanote_amd64_build.tar.xz.03
# 文件拼接
cat leanote_amd64_build.tar.xz.00 leanote_amd64_build.tar.xz.01 leanote_amd64_build.tar.xz.02 leanote_amd64_build.tar.xz.03 > leanote_amd64_build.tar.xz;
# md5sum leanote_amd64_build.*
4664dc81e0bc89c2c135138077e0c90f leanote_amd64_build.tar.xz
62428c9178f7ba986c2d3fc842b2b9ed leanote_amd64_build.tar.xz.00
4cabd28e6d60850e0afa269a6cc38a43 leanote_amd64_build.tar.xz.01
99d2592691f934d3d990fb96f8665f4a leanote_amd64_build.tar.xz.02
b44a8b0eb78537586e53414886b88a58 leanote_amd64_build.tar.xz.03
- arm64设备,请按此步骤:
下载leanote_arm64_build.tar.xz文件到arm64设备上
leanote_arm64_build.tar.xz.00
leanote_arm64_build.tar.xz.01
leanote_arm64_build.tar.xz.02
leanote_arm64_build.tar.xz.03
# 文件拼接
cat leanote_arm64_build.tar.xz.00 leanote_arm64_build.tar.xz.01 leanote_arm64_build.tar.xz.02 leanote_arm64_build.tar.xz.03 > leanote_arm64_build.tar.xz;
# md5sum leanote_arm64_build.*
7eb9f7f0a10c17821a2a5566b9c28e81 leanote_arm64_build.tar.xz
7de79847e14b392ce628e8dab3681cbe leanote_arm64_build.tar.xz.00
26ce7a59277666687525959639df92fe leanote_arm64_build.tar.xz.01
397fcedd62460dd12fdf412ceeae4f64 leanote_arm64_build.tar.xz.02
6cf98997152c592fe1b69ebaedc098fd leanote_arm64_build.tar.xz.03
第二步:导入docker镜像包
docker import leanote_*_build.tar.xz leanote_build
第三步:运行leanote的编译容器,并进入容器
docker run -it leanote_build bash
第四步:开始重新构建程序
(请在容器中执行如下命令)
cd /root/leanote-of-unofficial/;
# 仅编译尝试
make build;
# 仅重新编译js文件
make gulp;
# 重新编译,并更新到运行容器(需要提前修改Makefile,配置好运行容器IP)
make release;
其他补充:上面下载的编译镜像包的制作方法
(可以在运行起来的容器中执行history命令,可以看到镜像的制作命令)
- 创建,并进入容器
# 创建容器
docker run -itd --name leanote_build ubuntu:18.04 bash
# 进入容器
docker exec -it leanote_build bash
- 进入容器后,开始构建环境
sed -i 's|ports.ubuntu.com|mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list
sed -i 's|archive.ubuntu.com|mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list
apt update
apt install vim wget curl less tzdata net-tools iproute2 iputils-ping locales git make -y
curl -fsSL https://deb.nodesource.com/setup_8.x | bash -
apt-get install -y nodejs
cd /root;
git clone https://github.com/wiselike/leanote-of-unofficial.git
cd /root/leanote-of-unofficial
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
npm install
npm install --global [email protected]
npm install --global [email protected]
make gulp
cd /root;
wget https://golang.google.cn/dl/go1.19.13.linux-amd64.tar.gz
# (arm64的设备需下载: wget https://golang.google.cn/dl/go1.19.13.linux-amd64.tar.gz)
tar xf go1.19.13.linux-*.tar.gz
ln -sf /root/go/bin/go /usr/bin/go
go env -w GOPROXY="https://goproxy.cn,direct"
rm go1.19.13.linux-*.tar.gz
git clone https://github.com/wiselike/revel-cmd.git
cd /root/revel-cmd;
make;
cp ~/bin/revel /bin/
cd /root/leanote-of-unofficial;
make build
- 打包镜像(退出容器镜像,再执行打包)
docker export leanote_build | xz > leanote_build.tar.xz