建议可以设置个基于code-server的开发环境

希望添加一个开发环境,方便在线写代码或在线调试代码,比如我们构建了运行环境php8.1,添加一个选项是否构建开发环境,开发环境使用运行环境的镜像并重新构建带有code-server的版本,这样开发环境不破坏系统,又能在需要的时候在线调试;如果能使用code-server家的开发环境管理系统coder-oss就更方便了,直接触发模板进行构建;

感谢反馈,我们在后续版本考虑一下这个需求。

我研究了一下,可以使用下面的方式在alpine 版本的php容器中安装


RUN echo https://mirrors.aliyun.com/alpine/v3.16/main/ > /etc/apk/repositories && \
	echo https://mirrors.aliyun.com/alpine/v3.16/community/ >> /etc/apk/repositories
RUN set -eux; \
    DEPS='alpine-sdk bash libstdc++ libc6-compat python3'; \
    apk add --no-cache $DEPS; \
    # Constraint to npm 8, or else npm will fail with 'npm ERR! python is not a valid npm option'. See: https://stackoverflow.com/questions/74522956/python-is-not-a-valid-npm-option and https://jubianchi.github.io/semver-check/#/~8/8
    apk add --no-cache --repository=https://mirrors.aliyun.com/alpine/v3.15/main npm~8; \
    apk add --no-cache --repository=https://mirrors.aliyun.com/alpine/v3.17/main nodejs~18; \
    # Install kerberos dependencies https://github.com/coder/code-server/issues/6535
    apk add --no-cache krb5-dev; \
    npm config set python python3; \
    # Use 'NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT' to fix node 18.20 and 20.12 making experimental API the default, which breaks builds
    ( set -x; CXXFLAGS='-DNODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT' npm install --global code-server@4.23.1 --unsafe-perm ); \
    # Fix missing dependencies. See: https://github.com/coder/code-server/issues/5530
    ( cd /usr/local/lib/node_modules/code-server/lib/vscode; set -x; CXXFLAGS='-DNODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT' npm install --legacy-peer-deps ); \
    code-server --version; \
    apk del $DEPS

# Install tools
RUN set -eux;apk add --no-cache sudo tzdata bash less bash-completion ca-certificates curl git vim openssh-client openssl zip rsync tree supervisor

我已经使用上面的dockerfile文件片段实现了alpine的php开发环境安装code-server。由于对node的要求较高,所以指定了安装版本;