Docker container as build server
Posted on Sun 24 July 2022 in Journal
Abstract | Docker container as build server |
---|---|
Authors | Walter Fan |
Category | learning note |
Status | v1.0 |
Updated | 2022-07-24 |
License | CC-BY-NC-ND 4.0 |
如果你在用 Mac, Windows 或者 Linux 系统,需要在不同的平台上编译你的项目,光是依赖项的管理就会让你头大,再加上不同平台的系统调用异同会搞得你抓狂。
作为一个服务器端开发者,我的主要工作环境是 Linux Ubuntu, 所以无论在 mac 还是 windows 上,希望都有 docker 来搞定
FROM ubuntu:20.04
LABEL Author="Walter Fan <walter.fan@gmail.com>"
LABEL Description="Docker image for C++ program"
ENV TZ=Asia/Shanghai \
DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y \
tzdata \
git \
mercurial \
wget \
vim \
autoconf \
bzr \
cvs \
unrar \
build-essential \
clang \
valgrind \
gsl-bin \
libgsl23 \
libgsl-dev \
flex \
bison \
libfl-dev \
tcpdump \
sqlite3 \
libsqlite3-dev \
libxml2 \
libxml2-dev \
vtun \
lxc \
cmake \
libc6-dev \
libgd-dev \
libgtest-dev \
libboost-all-dev
# Create working directory
RUN mkdir -p /opt
WORKDIR /opt
# Cleanup
RUN apt-get clean && \
rm -rf /var/lib/apt
CMD [ "/bin/bash" ]
- 这样,在本地构建这样一个 docker image
more build.sh
#!/usr/bin/env bash
docker build -t walterfan/bcpp:v1.0 -t walterfan/bcpp:latest .
- 然后,就可以轻松地在本地构建你的 C++ 代码了
more start.sh
#!/usr/bin/env bash
docker run -c=2 -m 1024m --rm -it -v $PWD/..:/opt/bcpp --name bcpp walterfan/bcpp:latest
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。