From e0016c6705292ba44d847e72ec5c732323810a76 Mon Sep 17 00:00:00 2001 From: ifooth Date: Thu, 7 Dec 2023 11:01:42 +0800 Subject: [PATCH 1/8] Update: add scc and remove cloc --- install-pkg.sh | 2 +- install-virtualenv.sh | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/install-pkg.sh b/install-pkg.sh index 26a4aa9..6a784bd 100755 --- a/install-pkg.sh +++ b/install-pkg.sh @@ -6,7 +6,7 @@ set -ex apt-get update apt-get install -y apt-transport-https ca-certificates curl gnupg2 lsb-release iputils-ping dnsutils lrzsz apt-get install -y ascii xxd -apt-get install -y vim direnv tmux git-lfs cloc clang-format apache2-utils graphviz +apt-get install -y vim direnv tmux git-lfs clang-format apache2-utils graphviz # Install kernel build tools apt-get install -y flex bc libelf-dev libssl-dev bison diff --git a/install-virtualenv.sh b/install-virtualenv.sh index 8e176e5..8a5f1aa 100755 --- a/install-virtualenv.sh +++ b/install-virtualenv.sh @@ -46,6 +46,7 @@ go install github.com/josharian/impl@latest go install github.com/haya14busa/goplay/cmd/goplay@latest go install github.com/go-delve/delve/cmd/dlv@latest go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.55.1 +go install github.com/boyter/scc/v3@latest # https://github.com/golang/tools go install golang.org/x/tools/gopls@v0.14.0 From 24111a599a26136ee78aaa2f3771d12ad129b59e Mon Sep 17 00:00:00 2001 From: ifooth Date: Fri, 15 Dec 2023 22:38:59 +0800 Subject: [PATCH 2/8] update: add go tools --- Dockerfile | 2 +- install-pkg.sh | 2 +- install-virtualenv.sh | 22 ++++++++-------------- 3 files changed, 10 insertions(+), 16 deletions(-) diff --git a/Dockerfile b/Dockerfile index c4f24b5..c4ff609 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/vscode/devcontainers/python:3.11 +FROM mcr.microsoft.com/vscode/devcontainers/python:3.12 ENV DEBIAN_FRONTEND=noninteractive diff --git a/install-pkg.sh b/install-pkg.sh index 6a784bd..fb6bf27 100755 --- a/install-pkg.sh +++ b/install-pkg.sh @@ -102,7 +102,7 @@ tar -xf grpcurl_${GPRCCURL_VERSION}_linux_x86_64.tar.gz mv grpcurl /usr/local/bin/ # Install protoc -export PROTOC_VERSION=24.1 +export PROTOC_VERSION=25.1 wget -q https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOC_VERSION}/protoc-${PROTOC_VERSION}-linux-x86_64.zip unzip -o protoc-${PROTOC_VERSION}-linux-x86_64.zip mkdir -p /opt/go/bin diff --git a/install-virtualenv.sh b/install-virtualenv.sh index 8a5f1aa..a8560ad 100755 --- a/install-virtualenv.sh +++ b/install-virtualenv.sh @@ -5,16 +5,13 @@ set -ex export GOPATH=/opt/go export CGO_ENABLED=0 # change go version if upgrade -export GO1_15=go1.15.15 -export GO1_20=go1.20.10 # 当前版本 -export GO1_21=go1.21.3 +export GO1_20=go1.20.12 # 当前版本 +export GO1_21=go1.21.5 -go install golang.org/dl/$GO1_15@latest go install golang.org/dl/$GO1_20@latest go install golang.org/dl/$GO1_21@latest export HOME=/opt/go -$GOPATH/bin/$GO1_15 download && rm -rf $GOPATH/sdk/$GO1_15/$GO1_15.linux-amd64.tar.gz $GOPATH/bin/$GO1_20 download && rm -rf $GOPATH/sdk/$GO1_20/$GO1_20.linux-amd64.tar.gz $GOPATH/bin/$GO1_21 download && rm -rf $GOPATH/sdk/$GO1_21/$GO1_21.linux-amd64.tar.gz @@ -25,7 +22,6 @@ rm -rf $GOPATH/bin/$GO1_21 # 软链大版本 方便升级 cd /opt/go/bin -ln -sf /opt/go/sdk/$GO1_15/bin/go go1.15 ln -sf /opt/go/sdk/$GO1_20/bin/go go1.20 ln -sf /opt/go/sdk/$GO1_21/bin/go go1.21 ln -sf /opt/go/sdk/$GO1_21/bin/go go @@ -48,15 +44,18 @@ go install github.com/go-delve/delve/cmd/dlv@latest go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.55.1 go install github.com/boyter/scc/v3@latest # https://github.com/golang/tools -go install golang.org/x/tools/gopls@v0.14.0 +go install golang.org/x/tools/gopls@latest +go install golang.org/x/tools/cmd/godoc@latest +go install golang.org/x/text/cmd/gotext@latest +go install golang.org/x/perf/cmd/benchstat@latest # protobuf # https://github.com/protocolbuffers/protobuf-go go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.31.0 # https://github.com/grpc/grpc-go go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0 -go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway@v2.16.2 -go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2@v2.16.2 +go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway@v2.18.1 +go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2@v2.18.1 # golang小工具 go install golang.org/x/tools/cmd/stringer@latest @@ -73,13 +72,8 @@ export PYENV_ROOT=/opt/pyenv curl -fsSL https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash git clone https://github.com/pyenv/pyenv-virtualenvwrapper.git ${PYENV_ROOT}/plugins/pyenv-virtualenvwrapper export PATH=${PYENV_ROOT}/bin:$PATH -# change python version if upgrade -export PY2_7=2.7.18 -export PY3_6=3.6.15 export PY3_10=3.10.11 -pyenv install $PY2_7 -pyenv install $PY3_6 pyenv install $PY3_10 # 软链大版本 方便升级 From 4a1ad5b100ca8bc3a680afb1c7ae074db5e5b693 Mon Sep 17 00:00:00 2001 From: ifooth Date: Fri, 15 Dec 2023 23:57:21 +0800 Subject: [PATCH 3/8] update: refine package --- Dockerfile | 9 +++++++-- install-pkg.sh | 13 ++++++------- install-virtualenv.sh | 32 ++++++++++++++++++-------------- root/.zshrc | 6 +++--- 4 files changed, 34 insertions(+), 26 deletions(-) diff --git a/Dockerfile b/Dockerfile index c4ff609..9a7b322 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,12 @@ -FROM mcr.microsoft.com/vscode/devcontainers/python:3.12 +FROM mcr.microsoft.com/devcontainers/go:1.21 ENV DEBIAN_FRONTEND=noninteractive +# remote go env +RUN unset GOLANG_VERSION && \ + unset GOROOT && \ + unset GOPATH + WORKDIR /root # 配置文件, 代码/数据目录 @@ -13,7 +18,7 @@ COPY install-*.sh /usr/local/bin/ COPY root /opt/root # 安装依赖包 -RUN /usr/local/bin/install-pkg.sh +# RUN /usr/local/bin/install-pkg.sh # 安装开发环境 RUN /usr/local/bin/install-virtualenv.sh diff --git a/install-pkg.sh b/install-pkg.sh index fb6bf27..b074a41 100755 --- a/install-pkg.sh +++ b/install-pkg.sh @@ -8,6 +8,9 @@ apt-get install -y apt-transport-https ca-certificates curl gnupg2 lsb-release i apt-get install -y ascii xxd apt-get install -y vim direnv tmux git-lfs clang-format apache2-utils graphviz +# client utils +apt-get install -y redis-tools mariadb-client etcd-client + # Install kernel build tools apt-get install -y flex bc libelf-dev libssl-dev bison @@ -17,13 +20,6 @@ apt-get install -y ccache distcc clang llvm # Install android tools adb apt-get install -y adb -# system language -apt-get install -y golang - -# client utils -apt-get install -y redis-tools mariadb-client etcd-client - - # sshd apt-get install -y openssh-server echo "AcceptEnv SHELL_OS LC_*" > /etc/ssh/sshd_config.d/devcontainer.conf @@ -41,6 +37,9 @@ cd /opt/vim/bundle grep Plugin /opt/root/.vimrc.bundles|grep -v '"'|grep -v "Vundle"|awk -F "'" '{print $2}'|xargs -L1 git clone # vscode python tools & utils +apt-get install -y python3-venv +python3 -m venv /opt/py +export PATH=/opt/py/bin:$PATH pip install virtualenvwrapper supervisor flake8 black isort s3cmd mycli ipython ipdb requests # RUN echo "dash dash/sh boolean false" | debconf-set-selections diff --git a/install-virtualenv.sh b/install-virtualenv.sh index a8560ad..8e6a71a 100755 --- a/install-virtualenv.sh +++ b/install-virtualenv.sh @@ -1,6 +1,11 @@ #!/bin/bash set -ex +# remote go env +unset GOLANG_VERSION +unset GOROOT +unset GOPATH + # golang 多版本环境 export GOPATH=/opt/go export CGO_ENABLED=0 @@ -16,7 +21,6 @@ $GOPATH/bin/$GO1_20 download && rm -rf $GOPATH/sdk/$GO1_20/$GO1_20.linux-amd64.t $GOPATH/bin/$GO1_21 download && rm -rf $GOPATH/sdk/$GO1_21/$GO1_21.linux-amd64.tar.gz # 清理下载器 -rm -rf $GOPATH/bin/$GO1_15 rm -rf $GOPATH/bin/$GO1_20 rm -rf $GOPATH/bin/$GO1_21 @@ -27,13 +31,14 @@ ln -sf /opt/go/sdk/$GO1_21/bin/go go1.21 ln -sf /opt/go/sdk/$GO1_21/bin/go go cd /opt/go/sdk -ln -sf $GO1_15 go1.15 ln -sf $GO1_20 go1.20 ln -sf $GO1_21 go1.21 # vscode golang tools, build with latest golang # https://github.com/golang/vscode-go/blob/master/docs/tools.md export PATH=$GOPATH/bin:$PATH +env|grep GO + # vscode dev go install github.com/ramya-rao-a/go-outline@latest go install github.com/cweill/gotests/gotests@latest @@ -42,12 +47,14 @@ go install github.com/josharian/impl@latest go install github.com/haya14busa/goplay/cmd/goplay@latest go install github.com/go-delve/delve/cmd/dlv@latest go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.55.1 -go install github.com/boyter/scc/v3@latest -# https://github.com/golang/tools + +# golang 小工具 go install golang.org/x/tools/gopls@latest go install golang.org/x/tools/cmd/godoc@latest go install golang.org/x/text/cmd/gotext@latest go install golang.org/x/perf/cmd/benchstat@latest +go install golang.org/x/tools/cmd/stringer@latest +go install github.com/boyter/scc/v3@latest # protobuf # https://github.com/protocolbuffers/protobuf-go @@ -57,9 +64,6 @@ go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0 go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway@v2.18.1 go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2@v2.18.1 -# golang小工具 -go install golang.org/x/tools/cmd/stringer@latest - # my dev go install github.com/ifooth/devcontainer/cmd/dev@latest @@ -72,23 +76,23 @@ export PYENV_ROOT=/opt/pyenv curl -fsSL https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash git clone https://github.com/pyenv/pyenv-virtualenvwrapper.git ${PYENV_ROOT}/plugins/pyenv-virtualenvwrapper export PATH=${PYENV_ROOT}/bin:$PATH -export PY3_10=3.10.11 -pyenv install $PY3_10 +apt update && apt install -y libreadline-dev libsqlite3-dev libbz2-dev liblzma-dev libffi-dev +export PY3_12=3.12.1 + +pyenv install $PY3_12 # 软链大版本 方便升级 cd /opt/pyenv/versions -ln -sf $PY2_7 2.7 -ln -sf $PY3_6 3.6 -ln -sf $PY3_10 3.10 +ln -sf $PY3_12 3.12 -cd /opt/pyenv && tar -zcf versions.tar.gz versions/3.10/lib/python3.10/site-packages +cd /opt/pyenv && tar -zcf versions.tar.gz versions/3.12/lib/python3.12/site-packages # 添加环境变量 cat <<\EOT >> /root/.bashrc # add go and python path -export PATH=/data/bin:/root/.go/bin:/opt/go/bin:/opt/pyenv/bin:/opt/pyenv/shims:/root/.npm-packages/bin:$PATH +export PATH=/data/bin:/root/.go/bin:/opt/go/bin:/opt/py/bin:/opt/pyenv/bin:/opt/pyenv/shims:/root/.npm-packages/bin:$PATH # ssh and vscode terminal use zsh if [[ -n "${SSH_TTY}" ]] || [[ -n "${VSCODE_GIT_IPC_HANDLE}" ]];then diff --git a/root/.zshrc b/root/.zshrc index 2f1d2a6..58d2f19 100644 --- a/root/.zshrc +++ b/root/.zshrc @@ -117,7 +117,7 @@ compinit export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8 -export PATH=/data/bin:/root/.go/bin:/opt/go/bin:/opt/pyenv/bin:/opt/pyenv/shims:/root/.npm-packages/bin:$PATH +export PATH=/data/bin:/root/.go/bin:/opt/go/bin:/opt/py/bin:/opt/pyenv/bin:/opt/pyenv/shims:/root/.npm-packages/bin:$PATH # zsh plugins export ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=2" @@ -135,7 +135,7 @@ export VIM_ROOT=/opt/vim # pyenv export PYENV_ROOT=/opt/pyenv -PYENV_PKG=versions/3.10/lib/python3.10/site-packages +PYENV_PKG=versions/3.12/lib/python3.12/site-packages if [ ! -d "${HOME}/.pyenv/${PYENV_PKG}" ];then mkdir -p ${HOME}/.pyenv tar -xvf ${PYENV_ROOT}/versions.tar.gz -C ${HOME}/.pyenv @@ -150,7 +150,7 @@ if command -v pyenv 1>/dev/null 2>&1; then eval "$(pyenv init -)" pyenv virtualenvwrapper fi -export PYENV_VERSION=3.10 +export PYENV_VERSION=3.12 # virtualenvwrapper export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python From bfd3f5c26565c01e23993fb3a68014223d105aee Mon Sep 17 00:00:00 2001 From: ifooth Date: Sat, 16 Dec 2023 00:12:10 +0800 Subject: [PATCH 4/8] update: use apt --- Dockerfile | 12 +++++------- install-pkg.sh | 42 ++++++++++++++++++++++-------------------- install-virtualenv.sh | 2 ++ 3 files changed, 29 insertions(+), 27 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9a7b322..f35cdce 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,11 +2,6 @@ FROM mcr.microsoft.com/devcontainers/go:1.21 ENV DEBIAN_FRONTEND=noninteractive -# remote go env -RUN unset GOLANG_VERSION && \ - unset GOROOT && \ - unset GOPATH - WORKDIR /root # 配置文件, 代码/数据目录 @@ -18,10 +13,13 @@ COPY install-*.sh /usr/local/bin/ COPY root /opt/root # 安装依赖包 -# RUN /usr/local/bin/install-pkg.sh +RUN /usr/local/bin/install-pkg.sh # 安装开发环境 -RUN /usr/local/bin/install-virtualenv.sh +RUN unset GOLANG_VERSION && \ + unset GOROOT && \ + unset GOPATH && \ + /usr/local/bin/install-virtualenv.sh # 启动命令 ADD ./settings /opt/vscode/settings diff --git a/install-pkg.sh b/install-pkg.sh index b074a41..8c9cd83 100755 --- a/install-pkg.sh +++ b/install-pkg.sh @@ -1,31 +1,33 @@ #!/bin/bash set -ex +export DEBIAN_FRONTEND=noninteractive + # Install pkgs # graphviz use for golang pprof -apt-get update -apt-get install -y apt-transport-https ca-certificates curl gnupg2 lsb-release iputils-ping dnsutils lrzsz -apt-get install -y ascii xxd -apt-get install -y vim direnv tmux git-lfs clang-format apache2-utils graphviz +apt update +apt install -y apt-transport-https ca-certificates curl gnupg2 lsb-release iputils-ping dnsutils lrzsz +apt install -y ascii xxd +apt install -y vim direnv tmux git-lfs clang-format apache2-utils graphviz # client utils -apt-get install -y redis-tools mariadb-client etcd-client +apt install -y redis-tools mariadb-client etcd-client # Install kernel build tools -apt-get install -y flex bc libelf-dev libssl-dev bison +apt install -y flex bc libelf-dev libssl-dev bison # Install build -apt-get install -y ccache distcc clang llvm +apt install -y ccache distcc clang llvm # Install android tools adb -apt-get install -y adb +apt install -y adb # sshd -apt-get install -y openssh-server +apt install -y openssh-server echo "AcceptEnv SHELL_OS LC_*" > /etc/ssh/sshd_config.d/devcontainer.conf # zsh utils 命令行终端 -apt-get install -y autojump fzf +apt install -y autojump fzf curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -o /usr/local/bin/zsh-install.sh && chmod a+x /usr/local/bin/zsh-install.sh export ZSH="/opt/oh-my-zsh" && export CHSH=no && zsh-install.sh export ZSH_CUSTOM=${ZSH}/custom/plugins @@ -37,7 +39,7 @@ cd /opt/vim/bundle grep Plugin /opt/root/.vimrc.bundles|grep -v '"'|grep -v "Vundle"|awk -F "'" '{print $2}'|xargs -L1 git clone # vscode python tools & utils -apt-get install -y python3-venv +apt install -y python3-venv python3 -m venv /opt/py export PATH=/opt/py/bin:$PATH pip install virtualenvwrapper supervisor flake8 black isort s3cmd mycli ipython ipdb requests @@ -48,7 +50,7 @@ pip install virtualenvwrapper supervisor flake8 black isort s3cmd mycli ipython # Install Docker curl -fsSL https://download.docker.com/linux/$(lsb_release -is | tr '[:upper:]' '[:lower:]')/gpg | apt-key add - 2>/dev/null echo "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/$(lsb_release -is | tr '[:upper:]' '[:lower:]') $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list -apt-get update && apt-get install -y docker-ce-cli +apt update && apt install -y docker-ce-cli cd /tmp # Install skopeo @@ -94,12 +96,6 @@ chmod a+x kubectl && mv kubectl /usr/local/bin/ mkdir -p ${ZSH_CUSTOM}/kubectl-autocomplete kubectl completion zsh > ${ZSH_CUSTOM}/kubectl-autocomplete/kubectl-autocomplete.plugin.zsh -# Install grpcurl -GPRCCURL_VERSION=1.8.7 -wget -q https://github.com/fullstorydev/grpcurl/releases/download/v${GPRCCURL_VERSION}/grpcurl_${GPRCCURL_VERSION}_linux_x86_64.tar.gz -tar -xf grpcurl_${GPRCCURL_VERSION}_linux_x86_64.tar.gz -mv grpcurl /usr/local/bin/ - # Install protoc export PROTOC_VERSION=25.1 wget -q https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOC_VERSION}/protoc-${PROTOC_VERSION}-linux-x86_64.zip @@ -108,10 +104,16 @@ mkdir -p /opt/go/bin mv bin/protoc /opt/go/bin/ && /opt/go/bin/protoc --version mv include /opt/go/ +# Install grpcurl +GPRCCURL_VERSION=1.8.7 +wget -q https://github.com/fullstorydev/grpcurl/releases/download/v${GPRCCURL_VERSION}/grpcurl_${GPRCCURL_VERSION}_linux_x86_64.tar.gz +tar -xf grpcurl_${GPRCCURL_VERSION}_linux_x86_64.tar.gz +mv grpcurl /opt/go/bin/ + # Clean up mkdir -p /data/repos /data/pub /data/logs /data/etc/supervisord -apt-get -y autoremove -apt-get -y clean +apt -y autoremove +apt -y clean rm -rf /var/lib/apt/lists/* rm -rf /tmp/* diff --git a/install-virtualenv.sh b/install-virtualenv.sh index 8e6a71a..cfaa0af 100755 --- a/install-virtualenv.sh +++ b/install-virtualenv.sh @@ -1,6 +1,8 @@ #!/bin/bash set -ex +export DEBIAN_FRONTEND=noninteractive + # remote go env unset GOLANG_VERSION unset GOROOT From b091b39ba7ec5c68a2c31995ed6eee720596eb94 Mon Sep 17 00:00:00 2001 From: ifooth Date: Sat, 16 Dec 2023 00:35:12 +0800 Subject: [PATCH 5/8] Add: debian dockerfile --- Dockerfile.debian | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 Dockerfile.debian diff --git a/Dockerfile.debian b/Dockerfile.debian new file mode 100644 index 0000000..8e4727c --- /dev/null +++ b/Dockerfile.debian @@ -0,0 +1,27 @@ +FROM debian:bookworm + +ENV DEBIAN_FRONTEND=noninteractive + +WORKDIR /root + +# 配置文件, 代码/数据目录 +VOLUME [ "/root", "/data" ] + +COPY install-*.sh /usr/local/bin/ + +# 配置文件 +COPY root /opt/root + +# 安装依赖包 +RUN /usr/local/bin/install-pkg.sh + +# 安装开发环境 +RUN /usr/local/bin/install-virtualenv.sh + +# 启动命令 +ADD ./settings /opt/vscode/settings +ADD ./dev-init.sh /usr/local/bin/ +ADD ./docker-entrypoint.sh /usr/local/bin/ +ADD ./supervisord.conf /etc/supervisord.conf + +CMD ["docker-entrypoint.sh"] From 9124b5a76daf9ac976ad7a39e5793be1acfd7533 Mon Sep 17 00:00:00 2001 From: ifooth Date: Sat, 16 Dec 2023 00:39:29 +0800 Subject: [PATCH 6/8] Update: use apt-get for stable CLI interface issue --- install-pkg.sh | 28 ++++++++++++++-------------- install-virtualenv.sh | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/install-pkg.sh b/install-pkg.sh index 8c9cd83..920f493 100755 --- a/install-pkg.sh +++ b/install-pkg.sh @@ -5,29 +5,29 @@ export DEBIAN_FRONTEND=noninteractive # Install pkgs # graphviz use for golang pprof -apt update -apt install -y apt-transport-https ca-certificates curl gnupg2 lsb-release iputils-ping dnsutils lrzsz -apt install -y ascii xxd -apt install -y vim direnv tmux git-lfs clang-format apache2-utils graphviz +apt-get update +apt-get install -y apt-transport-https ca-certificates curl gnupg2 lsb-release iputils-ping dnsutils lrzsz +apt-get install -y ascii xxd +apt-get install -y vim direnv tmux git-lfs clang-format apache2-utils graphviz # client utils -apt install -y redis-tools mariadb-client etcd-client +apt-get install -y redis-tools mariadb-client etcd-client # Install kernel build tools -apt install -y flex bc libelf-dev libssl-dev bison +apt-get install -y flex bc libelf-dev libssl-dev bison # Install build -apt install -y ccache distcc clang llvm +apt-get install -y ccache distcc clang llvm # Install android tools adb -apt install -y adb +apt-get install -y adb # sshd -apt install -y openssh-server +apt-get install -y openssh-server echo "AcceptEnv SHELL_OS LC_*" > /etc/ssh/sshd_config.d/devcontainer.conf # zsh utils 命令行终端 -apt install -y autojump fzf +apt-get install -y autojump fzf curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -o /usr/local/bin/zsh-install.sh && chmod a+x /usr/local/bin/zsh-install.sh export ZSH="/opt/oh-my-zsh" && export CHSH=no && zsh-install.sh export ZSH_CUSTOM=${ZSH}/custom/plugins @@ -39,7 +39,7 @@ cd /opt/vim/bundle grep Plugin /opt/root/.vimrc.bundles|grep -v '"'|grep -v "Vundle"|awk -F "'" '{print $2}'|xargs -L1 git clone # vscode python tools & utils -apt install -y python3-venv +apt-get install -y python3-venv python3 -m venv /opt/py export PATH=/opt/py/bin:$PATH pip install virtualenvwrapper supervisor flake8 black isort s3cmd mycli ipython ipdb requests @@ -50,7 +50,7 @@ pip install virtualenvwrapper supervisor flake8 black isort s3cmd mycli ipython # Install Docker curl -fsSL https://download.docker.com/linux/$(lsb_release -is | tr '[:upper:]' '[:lower:]')/gpg | apt-key add - 2>/dev/null echo "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/$(lsb_release -is | tr '[:upper:]' '[:lower:]') $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list -apt update && apt install -y docker-ce-cli +apt-get update && apt-get install -y docker-ce-cli cd /tmp # Install skopeo @@ -113,7 +113,7 @@ mv grpcurl /opt/go/bin/ # Clean up mkdir -p /data/repos /data/pub /data/logs /data/etc/supervisord -apt -y autoremove -apt -y clean +apt-get -y autoremove +apt-get -y clean rm -rf /var/lib/apt/lists/* rm -rf /tmp/* diff --git a/install-virtualenv.sh b/install-virtualenv.sh index cfaa0af..36d145e 100755 --- a/install-virtualenv.sh +++ b/install-virtualenv.sh @@ -79,7 +79,7 @@ curl -fsSL https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-install git clone https://github.com/pyenv/pyenv-virtualenvwrapper.git ${PYENV_ROOT}/plugins/pyenv-virtualenvwrapper export PATH=${PYENV_ROOT}/bin:$PATH -apt update && apt install -y libreadline-dev libsqlite3-dev libbz2-dev liblzma-dev libffi-dev +apt-get update && apt-get install -y libreadline-dev libsqlite3-dev libbz2-dev liblzma-dev libffi-dev export PY3_12=3.12.1 pyenv install $PY3_12 From 037a052f3e8a573c55a42ef0d98fb2527c490bfe Mon Sep 17 00:00:00 2001 From: ifooth Date: Sat, 16 Dec 2023 14:41:30 +0800 Subject: [PATCH 7/8] Update: remove virtualenv --- install-pkg.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install-pkg.sh b/install-pkg.sh index 920f493..59a4a83 100755 --- a/install-pkg.sh +++ b/install-pkg.sh @@ -42,7 +42,7 @@ grep Plugin /opt/root/.vimrc.bundles|grep -v '"'|grep -v "Vundle"|awk -F "'" '{p apt-get install -y python3-venv python3 -m venv /opt/py export PATH=/opt/py/bin:$PATH -pip install virtualenvwrapper supervisor flake8 black isort s3cmd mycli ipython ipdb requests +pip install supervisor s3cmd mycli ipython ipdb requests # RUN echo "dash dash/sh boolean false" | debconf-set-selections # RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash From 0d8425b8968bc946ad11c645e82653d98c3a9d0d Mon Sep 17 00:00:00 2001 From: ifooth Date: Sat, 16 Dec 2023 17:35:38 +0800 Subject: [PATCH 8/8] Update: remove build --- Dockerfile | 7 ++----- install-pkg.sh | 7 +++---- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index f35cdce..ce6e006 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/devcontainers/go:1.21 +FROM mcr.microsoft.com/devcontainers/base:bookworm ENV DEBIAN_FRONTEND=noninteractive @@ -16,10 +16,7 @@ COPY root /opt/root RUN /usr/local/bin/install-pkg.sh # 安装开发环境 -RUN unset GOLANG_VERSION && \ - unset GOROOT && \ - unset GOPATH && \ - /usr/local/bin/install-virtualenv.sh +RUN /usr/local/bin/install-virtualenv.sh # 启动命令 ADD ./settings /opt/vscode/settings diff --git a/install-pkg.sh b/install-pkg.sh index 59a4a83..b5b1ec2 100755 --- a/install-pkg.sh +++ b/install-pkg.sh @@ -8,7 +8,7 @@ export DEBIAN_FRONTEND=noninteractive apt-get update apt-get install -y apt-transport-https ca-certificates curl gnupg2 lsb-release iputils-ping dnsutils lrzsz apt-get install -y ascii xxd -apt-get install -y vim direnv tmux git-lfs clang-format apache2-utils graphviz +apt-get install -y vim direnv tmux git-lfs clang-format apache2-utils graphviz python3 python3-venv # client utils apt-get install -y redis-tools mariadb-client etcd-client @@ -17,10 +17,10 @@ apt-get install -y redis-tools mariadb-client etcd-client apt-get install -y flex bc libelf-dev libssl-dev bison # Install build -apt-get install -y ccache distcc clang llvm +# apt-get install -y ccache distcc clang llvm # Install android tools adb -apt-get install -y adb +# apt-get install -y adb # sshd apt-get install -y openssh-server @@ -39,7 +39,6 @@ cd /opt/vim/bundle grep Plugin /opt/root/.vimrc.bundles|grep -v '"'|grep -v "Vundle"|awk -F "'" '{print $2}'|xargs -L1 git clone # vscode python tools & utils -apt-get install -y python3-venv python3 -m venv /opt/py export PATH=/opt/py/bin:$PATH pip install supervisor s3cmd mycli ipython ipdb requests