Browse Source

Add 'nodejs/.ide/Dockerfile-Allinone-flutter'

天问 1 year ago
parent
commit
b2ade49504
1 changed files with 109 additions and 0 deletions
  1. 109 0
      nodejs/.ide/Dockerfile-Allinone-flutter

+ 109 - 0
nodejs/.ide/Dockerfile-Allinone-flutter

@@ -0,0 +1,109 @@
+FROM openjdk:16 as builder
+
+ENV MAVEN_VERSION=3.9.5 \
+    GRADLE_VERSION=7.5
+ARG FLUTTER_VERSION="3.13.5"
+
+RUN sed -i s@/deb.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list
+RUN sed -i s@/security.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list
+RUN apt-get update
+
+# install gradle
+RUN wget https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip -P /tmp
+RUN unzip -d /opt/gradle /tmp/gradle-*.zip && rm -rf /tmp/gradle-*.zip
+ENV GRADLE_HOME=/opt/gradle/gradle-${GRADLE_VERSION}
+ENV PATH=$PATH:$GRADLE_HOME/bin
+
+# install maven
+RUN wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip -P /tmp
+RUN unzip -d /opt/maven /tmp/apache-maven-*.zip
+ENV MAVEN_HOME=/opt/maven/apache-maven-${MAVEN_VERSION}
+ENV PATH=$PATH:$MAVEN_HOME/bin
+
+# install android sdk
+ENV ANDROID_HOME=/opt/androidsdk \
+    FLUTTER_HOME=/opt/flutter
+
+RUN wget https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip \
+    && mkdir -p $ANDROID_HOME/cmdline-tools/latest \
+    && unzip commandlinetools-linux-*.zip -d $ANDROID_HOME \
+    && rm -f commandlinetools-linux-*.zip \
+    && mv $ANDROID_HOME/cmdline-tools/bin $ANDROID_HOME/cmdline-tools/latest \
+    && mv $ANDROID_HOME/cmdline-tools/lib $ANDROID_HOME/cmdline-tools/latest
+
+RUN echo "export ANDROID_HOME=$ANDROID_HOME" >> ~/.bashrc \
+    && echo 'export PATH=$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$ANDROID_HOME/cmdline-tools/bin:$ANDROID_HOME/platform-tools:$PATH' >> ~/.bashrc
+
+ENV PATH=$PATH:$FLUTTER_HOME/bin:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/emulator
+RUN yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "platform-tools" "platforms;android-33"
+
+# install flutter
+RUN git clone --branch ${FLUTTER_VERSION} https://github.com/flutter/flutter.git ${FLUTTER_HOME} \
+    && cd ${FLUTTER_HOME} \
+    && ./bin/flutter precache \
+    && ./bin/flutter doctor
+
+# install python3.8
+# RUN apt-get update && \
+#     apt-get install -y python3.8
+RUN mkdir -p ~/.pip
+RUN echo '\n\
+    [global] \n\
+    trusted-host=mirrors.aliyun.com \n\
+    index-url=https://mirrors.aliyun.com/pypi/simple/ \n\
+    ' > ~/.pip/pip.conf
+
+RUN wget http://fileshare.yoqi.me/d/DevFiles/Develop/Python/get-pip.py?sign=17C5fjx9l5VpBJ6FCHonje5nEEkylSINsPlKsASVkRc=:1702263152 -O get-pip.py
+RUN python3 get-pip.py
+
+# install go1.21
+RUN wget https://go.dev/dl/go1.21.4.linux-amd64.tar.gz && \
+    tar -C /usr/local -xzf go1.21.4.linux-amd64.tar.gz
+ENV PATH=$PATH:/usr/local/go/bin
+RUN export GOPROXY="https://goproxy.io,direct"
+
+# install nodejs20
+RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
+RUN apt-get install -y nodejs
+RUN npm config set registry http://registry.npm.taobao.org --global
+RUN npm install yarn pnpm
+
+LABEL email="liuyuqi<liuyuqi.gov@msn.cn>"
+WORKDIR /workspaces
+# RUN mvn package
+
+RUN apt-get install -y wget unzip openssh-server
+RUN ln -s /usr/bin/python3.9  /usr/bin/python
+
+# 指定字符集支持命令行输入中文(根据需要选择字符集)
+ENV LANG C.UTF-8
+ENV LANGUAGE C.UTF-8
+
+# set path
+RUN echo '\n\
+    export PATH=$PATH:$GRADLE_HOME/bin \n\
+    export JAVA_HOME=/usr/local/openjdk-11 \n\
+    export PATH=$PATH:$JAVA_HOME/bin \n\
+    export PATH=$PATH:$MAVEN_HOME/bin \n\
+    export PATH=$PATH:/usr/local/go/bin \n\
+    export GOPROXY="https://goproxy.io,direct" \n\
+    ' >> ~/.bashrc
+
+
+# install vscode and extension
+RUN curl -fsSL https://code-server.dev/install.sh | sh &&\
+    code-server --install-extension redhat.vscode-yaml &&\
+    code-server --install-extension orta.vscode-jest &&\
+    code-server --install-extension dbaeumer.vscode-eslint &&\
+    code-server --install-extension ms-python.python &&\
+    code-server --install-extension ms-azuretools.vscode-docker &&\
+    code-server --install-extension mhutchie.git-graph &&\
+    code-server --install-extension ardisaurus.gitflow-actions-sidebar &&\
+    code-server --install-extension golang.go &&\
+    code-server --install-extension Vue.volar &&\
+    code-server --install-extension eamodio.gitlens &&\
+    echo done
+
+VOLUME [ "/workspaces" ]
+
+CMD [ "/bin/bash" ]