feat: add ubuntu 12.04 docker build env
This commit is contained in:
20
bin/build.sh
20
bin/build.sh
@@ -142,13 +142,25 @@ esac
|
||||
|
||||
make_ocs_bin()
|
||||
{
|
||||
cd $src_ocs_dir
|
||||
echo -n "make clean ... "
|
||||
make clean 1>/dev/null 2>&1
|
||||
echo "done"
|
||||
if [ -z $bin_tag ]; then
|
||||
bin_tag="pncc"
|
||||
fi
|
||||
cd $src_ocs_dir
|
||||
if [ $bin_tag = "cook" ]; then
|
||||
if [ $rel_os = "ub22" ]; then
|
||||
echo "Ubuntu 22.04 is not supported"
|
||||
exit 1
|
||||
fi
|
||||
git checkout cook
|
||||
git pull
|
||||
else
|
||||
git checkout main
|
||||
git pull
|
||||
fi
|
||||
|
||||
echo -n "make clean ... "
|
||||
make clean 1>/dev/null 2>&1
|
||||
echo "done"
|
||||
echo -n "make $bin_tag $pkg_type ... "
|
||||
make ${bin_tag} 1>make.log 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
|
||||
88
ubuntu-12.04-build-env/Dockerfile
Normal file
88
ubuntu-12.04-build-env/Dockerfile
Normal file
@@ -0,0 +1,88 @@
|
||||
# 使用 Ubuntu 12.04 作为基础镜像
|
||||
FROM ubuntu:12.04
|
||||
|
||||
# 设置环境变量以避免交互式安装
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# 更新包列表并安装必要的软件包
|
||||
RUN sed -i 's|http://archive.ubuntu.com/ubuntu|http://old-releases.ubuntu.com/ubuntu|g' /etc/apt/sources.list && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
openssh-client \
|
||||
bzip2 \
|
||||
build-essential \
|
||||
cmake \
|
||||
curl \
|
||||
g++ \
|
||||
gcc \
|
||||
git \
|
||||
gzip \
|
||||
libgcrypt11-dev \
|
||||
libglib2.0-dev \
|
||||
libgnutls-dev \
|
||||
libhiredis-dev \
|
||||
libidn11-dev \
|
||||
libssl-dev \
|
||||
libsctp-dev \
|
||||
libmysqlclient-dev \
|
||||
make \
|
||||
sed \
|
||||
sudo \
|
||||
tar \
|
||||
unzip \
|
||||
vim \
|
||||
wget \
|
||||
xz-utils \
|
||||
zlib1g-dev \
|
||||
autoconf \
|
||||
automake \
|
||||
libtool \
|
||||
#binutils \
|
||||
#libzstd-dev \
|
||||
libidn2-0-dev && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# 下载并编译 zstd 库
|
||||
RUN wget https://github.com/facebook/zstd/archive/refs/tags/v1.4.9.tar.gz && \
|
||||
tar -xzf v1.4.9.tar.gz && \
|
||||
cd zstd-1.4.9 && \
|
||||
make && \
|
||||
make install && \
|
||||
cd .. && \
|
||||
rm -rf zstd-1.4.9 v1.4.9.tar.gz
|
||||
|
||||
# 下载并编译 binutils 库
|
||||
RUN wget https://ftp.gnu.org/gnu/binutils/binutils-2.36.1.tar.gz && \
|
||||
tar -xzf binutils-2.36.1.tar.gz && \
|
||||
cd binutils-2.36.1 && \
|
||||
./configure && \
|
||||
make && \
|
||||
make install && \
|
||||
cd .. && \
|
||||
rm -rf binutils-2.36.1 binutils-2.36.1.tar.gz
|
||||
|
||||
# 创建一个用户并设置密码
|
||||
RUN useradd -ms /bin/bash simon && echo "simon:admin123" | chpasswd && adduser simon sudo
|
||||
|
||||
# 生成 SSH 密钥对
|
||||
RUN mkdir -p /home/simon/.ssh && \
|
||||
ssh-keygen -t ecdsa -b 521 -f /home/simon/.ssh/id_ecdsa -N "" -C "simon@ubuntu12.dev" && \
|
||||
ssh-keyscan -t ecdsa -H 192.168.2.166 >> /home/simon/.ssh/known_hosts && \
|
||||
chown -R simon:simon /home/simon/.ssh
|
||||
|
||||
# 打印公钥,方便添加到 Gitea 服务器
|
||||
RUN cat /home/simon/.ssh/id_ecdsa.pub
|
||||
|
||||
# 切换到新用户
|
||||
USER simon
|
||||
WORKDIR /home/simon
|
||||
|
||||
# 复制项目文件到容器中(如果有)
|
||||
#COPY ../ocs.git /home/simon/
|
||||
|
||||
# 设置工作目录
|
||||
WORKDIR /home/simon
|
||||
|
||||
# 默认命令
|
||||
CMD ["/bin/bash"]
|
||||
15
ubuntu-12.04-build-env/docker-compose.yml
Normal file
15
ubuntu-12.04-build-env/docker-compose.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
services:
|
||||
ubuntu12-dev:
|
||||
image: ubuntu:12.04
|
||||
build:
|
||||
context: .
|
||||
#dockerfile: Dockerfile
|
||||
container_name: ubuntu12-dev
|
||||
volumes:
|
||||
- /home/simon/ocs.git:/home/simon/ocs.git
|
||||
#- /home/simon/.ssh:/home/simon/.ssh
|
||||
environment:
|
||||
- TZ=Asia/Shanghai
|
||||
tty: true
|
||||
stdin_open: true
|
||||
command: tail -f /dev/null
|
||||
Reference in New Issue
Block a user