|
1 |
| -FROM ubuntu:20.04 |
| 1 | +FROM alpine:3.13 |
2 | 2 |
|
3 |
| -ARG DEBIAN_FRONTEND=noninteractive |
4 |
| -ARG DRIVER_VERSION=3.6.2 |
5 |
| -ARG DRIVER_C_VERSION=1.17.3 |
6 |
| -ARG MONGODB_URI |
| 3 | +LABEL org.opencontainers.image.source=https://github.com/mongodb-developer/get-started-cxx |
7 | 4 |
|
8 |
| -RUN apt-get update && apt-get install -y \ |
9 |
| - nano \ |
10 |
| - sudo \ |
11 |
| - build-essential \ |
12 |
| - wget \ |
13 |
| - cmake \ |
14 |
| - git \ |
15 |
| - python3.9 \ |
16 |
| - python3.9-distutils \ |
17 |
| - pkg-config \ |
18 |
| - libssl-dev \ |
19 |
| - libsasl2-dev && \ |
20 |
| - apt-get clean && \ |
21 |
| - rm -rf /var/lib/apt/lists/* |
| 5 | +ARG DRIVER_VERSION=3.6.2 |
| 6 | +ARG DRIVER_C_VERSION=1.17.4 |
22 | 7 |
|
23 |
| -RUN export uid=1000 gid=1000 && \ |
24 |
| - mkdir -p /home/ubuntu && mkdir /workspace && \ |
25 |
| - echo "ubuntu:x:${uid}:${gid}:Developer,,,:/home/ubuntu:/bin/bash" >> /etc/passwd && \ |
26 |
| - echo "ubuntu:x:${uid}:" >> /etc/group && \ |
27 |
| - echo "ubuntu ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/ubuntu && \ |
28 |
| - chmod 0440 /etc/sudoers.d/ubuntu && \ |
29 |
| - chown ${uid}:${gid} -R /home/ubuntu |
| 8 | +RUN apk add --no-cache wget cmake make git tar gcc g++ musl-dev openssl-dev perl |
| 9 | +RUN addgroup -S gsgroup && adduser -S gsuser -G gsgroup |
30 | 10 |
|
31 |
| -ENV HOME /home/ubuntu |
32 |
| -ENV WORKSPACE /workspace |
33 | 11 | ENV CDRIVER_VERSION ${DRIVER_C_VERSION}
|
34 |
| -ENV LD_LIBRARY_PATH /usr/local/lib |
| 12 | +ENV LD_LIBRARY_PATH /usr/local/lib64 |
35 | 13 | ENV DRIVER_VERSION ${DRIVER_VERSION}
|
36 |
| -ENV MONGODB_URI ${MONGODB_URI} |
| 14 | +ENV HOME /home/gsuser |
37 | 15 |
|
38 |
| -WORKDIR ${HOME} |
39 |
| - |
40 |
| -RUN wget https://github.com/mongodb/mongo-c-driver/releases/download/${CDRIVER_VERSION}/mongo-c-driver-${CDRIVER_VERSION}.tar.gz && \ |
| 16 | +RUN cd ${HOME} && wget https://github.com/mongodb/mongo-c-driver/releases/download/${CDRIVER_VERSION}/mongo-c-driver-${CDRIVER_VERSION}.tar.gz && \ |
41 | 17 | tar xzf mongo-c-driver-${CDRIVER_VERSION}.tar.gz
|
42 | 18 |
|
| 19 | +RUN cd ${HOME} && wget https://github.com/mongodb/mongo-cxx-driver/archive/r${DRIVER_VERSION}.tar.gz && \ |
| 20 | + tar -xzf r${DRIVER_VERSION}.tar.gz |
| 21 | + |
| 22 | +RUN chown -R gsuser ${HOME} && chmod -R 750 ${HOME} |
| 23 | + |
43 | 24 | RUN cd ${HOME}/mongo-c-driver-${CDRIVER_VERSION} && \
|
44 | 25 | mkdir cmake-build && \
|
45 | 26 | cd cmake-build && \
|
46 |
| - cmake -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF .. && \ |
| 27 | + cmake -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DENABLE_TESTS=OFF .. && \ |
47 | 28 | make && make install
|
48 | 29 |
|
49 |
| -RUN cd ${HOME} |
50 |
| - |
51 |
| -RUN wget https://github.com/mongodb/mongo-cxx-driver/archive/r${DRIVER_VERSION}.tar.gz && \ |
52 |
| - tar -xzf r${DRIVER_VERSION}.tar.gz |
53 |
| - |
54 | 30 | RUN cd ${HOME}/mongo-cxx-driver-r${DRIVER_VERSION}/build && \
|
55 |
| - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_VERSION=0.0.1 -DCMAKE_PREFIX_PATH=/usr/local .. && \ |
| 31 | + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_VERSION=0.0.1 -DCMAKE_PREFIX_PATH=/usr/local -DENABLE_TESTS=OFF .. && \ |
56 | 32 | make EP_mnmlstc_core && \
|
57 |
| - make && make install |
58 |
| - |
59 |
| -RUN mkdir ${HOME}/cxx |
60 |
| -COPY ./cxx/getstarted.cpp ${HOME}/cxx/getstarted.cpp |
61 |
| - |
62 |
| -RUN chown -R ubuntu ${HOME}/cxx && chmod -R 750 ${HOME}/cxx |
63 |
| - |
64 |
| -USER ubuntu |
| 33 | + make && make install && \ |
| 34 | + for i in `ls /usr/local/lib64/pkgconfig | grep cxx-static.pc`; do sed -i -e 's;libdir=${prefix}/lib;libdir=${prefix}/lib64;g' /usr/local/lib64/pkgconfig/$i; done && \ |
| 35 | + apk --update --no-cache del perl |
65 | 36 |
|
66 |
| -WORKDIR ${WORKSPACE}/cxx |
| 37 | +USER gsuser |
67 | 38 |
|
68 |
| -ENTRYPOINT ["/bin/bash", "-c"] |
| 39 | +ENTRYPOINT ["/bin/sh", "-c"] |
0 commit comments