docker使用code-server搭建开发环境 v2.0

安装docker

docker安装

下载安装nodejs、rust等环境

1、设置安装目录

复制代码
# 创建路径
mkdir /usr/local/node 
# 切换路径
cd /usr/local/node

2、安装nodejs16

复制代码
# 下载
wget https://nodejs.org/dist/latest-v18.x/node-v18.17.1-linux-x64.tar.xz

#解压
tar -xvf node-v18.17.1-linux-x64.tar.xz

# 重命名
mv node-v18.17.1-linux-x64 nodejs18

#设置环境变量
vim /etc/profile

#然后把下面2句话放到文件中
export NODE_HOME=/usr/local/node/nodejs18
export PATH=$NODE_HOME/bin:$PATH
#最后刷新一下配置文件
source /etc/profile
#确认是否安装完成
node -v
npm -v

3、安装rust

使用docker搭建code-server服务且引用宿主机环境

1、下载镜像

复制代码
docker pull codercom/code-server

2、运行和挂载目录

复制代码
docker run -d -u root --name=code-server \
-p 80:8080 -p 3000:3000 -p 8888:8888 \
-v /usr/local/node/nodejs18:/home/vscode/nodejs18/ \
-v /data/vscode/workspace:/home/vscode/workspace \
-v /root/.cargo:/home/vscode/cargo/ \
-v /root/.rustup:/home/vscode/rustup/ \
-e DEFAULT_WORKSPACE=/home/vscode/workspace \
-e PASSWORD=521123 \
-e NODE_HOME=/data/vscode/nodejs18  \
--restart=always --privileged=true codercom/code-server
  • 说一下运行命令

    docker run -d -u root --name=code-server \

    -p 本地端口:容器端口,code-server默认占8080,3000是我写vue3项目用的,8888是写后端用的,记得在安全组开放端口

    -p 80:8080 -p 3000:3000 -p 8888:8888
    #挂载node安装目录进去,把node共享给容器(java,golang,rust等,也可以这样挂载进去)
    -v /usr/local/node/nodejs18:/home/vscode/nodejs18/
    #把项目文件夹放出来,避免删除容器后项目也不见了
    -v /data/vscode/workspace:/home/vscode/workspace
    #映射cargo
    -v /root/.cargo:/home/vscode/cargo/
    #映射rustup
    -v /root/.rustup:/home/vscode/rustup/
    -e DEFAULT_WORKSPACE=/home/coder/project
    #设置code-server登录密码
    -e PASSWORD=123456
    #这个可有可无
    -e NODE_HOME=/data/vscode/nodejs18 \

    restart=always是容器随docker启动而启动,privileged=true,是给容器权限

    --restart=always --privileged=true codercom/code-server

3、配置容器内的环境变量

复制代码
#进入容器
docker exec -it 容器id /bin/bash

#配置容器环境变量
vi /etc/profile
#然后把下面2句话放到文件中
export NODE_HOME=/home/vscode/nodejs18
export PATH=$NODE_HOME/bin:$PATH
export CARGO_HOME=/home/vscode/cargo
export PATH=$CARGO_HOME/bin:$PATH
export RUSTUP_HOME=/home/vscode/rustup
#最后刷新一下配置文件
source /etc/profile
#确认是否安装完成
node -v
npm -v
cargo -V
rustup -V

验证

  • ip:80
  • 然后输入密码就行
相关推荐
前端世界44 分钟前
Linux服务器实战:NTP时间同步、SELinux权限与rsyslog日志管理,一次搞懂三大运维问题
linux·运维·服务器
Android系统攻城狮44 分钟前
Linux Gstreamer深度解析之gst_audio_converter_new调用流程与实战(二十)
linux·运维·服务器·gstreamer音视频·音视频进阶
莫陌尛.1 小时前
Docker MySQL 删表卡死、执行超时(MDL锁阻塞)问题复盘与根治方案
mysql·docker·容器
海宇服务1 小时前
零信任架构实战:基于海宇对外投资历史查询服务构建自动化供应商准入网关
运维·人工智能·架构·自动化
上海云盾-小余1 小时前
BGP 高防底层原理:TCP 异常流量识别与清洗机制
运维·网络·tcp/ip
言乐62 小时前
Python加速器4跨境网络加速器
运维·服务器·开发语言·网络·python
蓝速科技5 小时前
医院导诊 AI 数字人一体机场景适配与落地指南丨蓝速科技
运维·数据库·人工智能·科技·自然语言处理·技术分享
星辰徐哥6 小时前
本地视频预览别只自己看:把Remotion动效项目发给客户远程验收
docker·ai·node.js·html·音视频·react·remotion
H_oRIZoN_6 小时前
Linux入门DAY41(51 单片机 串口与通信协议)
linux·运维·单片机
正仪7 小时前
kubernetes中list-watch机制
云原生·容器·kubernetes