当前位置: 首页 > news >正文

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

  • 设置国内更新路径,放到 vim /etc/profile
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
  • 安装rust
curl --proto '=https' --tlsv1.3 -sSf https://sh.rustup.rs | sh

使用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
  • 然后输入密码就行

相关文章:

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

安装docker docker安装 下载安装nodejs、rust等环境 1、设置安装目录 # 创建路径 mkdir /usr/local/node # 切换路径 cd /usr/local/node2、安装nodejs16 # 下载 wget https://nodejs.org/dist/latest-v18.x/node-v18.17.1-linux-x64.tar.xz#解压 tar -xvf node-v18.17.1…...

Python写一个创意五子棋游戏

前言 在本教程中,我们将使用Python写一个创意五子棋游戏 📝个人主页→数据挖掘博主ZTLJQ的主页 个人推荐python学习系列: ☄️爬虫JS逆向系列专栏 - 爬虫逆向教学 ☄️python系列专栏 - 从零开始学python 首先 GomokuGame 类的构造函数 __ini…...

Nvidia Jetson 编解码开发(1)介绍

前言 由于项目需要,需要开发Jetson平台的硬件编解码; 优化CPU带宽,后续主要以介绍硬件编解码为主 1.Jetson各平台编解码性能说明 如下是拿了Jetson nano/tx2/Xavier等几个平台做对比; 这里说明的编解码性能主要是对硬件来说的…...

【操作系统】24王道考研笔记——第一章 计算机系统概述

第一章 计算机系统概述 一、操作系统基本概念 1.1 定义 1.2 特征 并发 (并行:指两个或多个事件在同一时刻同时发生) 共享 (并发性指计算机系统中同时存在中多个运行着的程序,共享性指系统中的资源可供内存中多个并…...

菜鸟Vue教程 - 实现带国际化的注册登陆页面

初接触vue的时候觉得vue好难,因为项目中要用到,就硬着头皮上,慢慢的发现也不难,无外乎画个布局,然后通过样式调整界面。在通过属性和方法跟js交互。js就和我们写的java代码差不多了,复杂一点的就是引用这种…...

Mybatis ORDER BY 排序失效 ORDER BY 与 CASE WHEN THEN 排序问题

一、ORDER BY 排序失效 如果传递给 mapper 的参数值是以 #{test_参数} 的形式&#xff0c;那么就会报错 具体如下&#xff1a; 传递参数是 name 排序规则是升序 asc package com.ruoyi.web.mapper; public interface TestMapper {List<TestEntity> getTestData( Para…...

日常BUG——微信小程序提交代码报错

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;日常BUG、BUG、问题分析☀️每日 一言 &#xff1a;存在错误说明你在进步&#xff01; 一、问题描述 在使用微信小程序开发工具进行提交代码时&#xff0c;报出如下错误&#xff1a; Invalid a…...

1048:有一门课不及格的学生

【题目描述】 给出一名学生的语文和数学成绩&#xff0c;判断他是否恰好有一门课不及格(成绩小于60分)。若该生恰好有一门课不及格&#xff0c;输出1&#xff1b;否则输出0。 【输入】 一行&#xff0c;包含两个在0到100之间的整数&#xff0c;分别是该生的语文成绩和数学成…...

数据结构——B-树、B+树、B*树

一、B-树 1. B-树概念 B树是一种适合外查找的、平衡的多叉树。一棵m阶&#xff08;m>2&#xff09;的B树&#xff0c;是一棵平衡的M路平衡搜索树&#xff0c;它可以是空树或满足以下性质&#xff1a; &#xff08;1&#xff09;根节点至少有两个孩子。 &#xff08;2&#…...

2023国赛数学建模思路 - 案例:FPTree-频繁模式树算法

文章目录 算法介绍FP树表示法构建FP树实现代码 建模资料 ## 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 算法介绍 FP-Tree算法全称是FrequentPattern Tree算法&#xff0c;就是频繁模式树算法&#xff0c…...

GPT系列总结

1.GPT1 无监督预训练有监督的子任务finetuning https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf 1.1 Unsupervised pre-training &#xff08;1&#xff09;基于一个transformer decoder&#xff0c;通过一个窗口的输入得…...

【福建事业单位-综合基础知识】05民法典

这里写自定义目录标题 一、民法概述概念原则总结 二、自然人概念总结 三、民事法律行为总结 民法考察2-4题&#xff08;重点总则篇&#xff09; 一、民法概述 概念原则 总结 二、自然人 概念 总结 三、民事法律行为 总结...

微服务篇

微服务篇 springcloud 常见组件有哪些 面试官&#xff1a; Spring Cloud 5大组件有哪些&#xff1f; 候选人&#xff1a; 早期我们一般认为的Spring Cloud五大组件是 Eureka&#xff1a;注册中心Ribbon&#xff1a;负载均衡Feign&#xff1a;远程调用Hystrix&#xff1a;…...

C++ 的关键字(保留字)完整介绍

1. asm asm (指令字符串)&#xff1a;允许在 C 程序中嵌入汇编代码。 2. auto auto&#xff08;自动&#xff0c;automatic&#xff09;是存储类型标识符&#xff0c;表明变量"自动"具有本地范围&#xff0c;块范围的变量声明&#xff08;如for循环体内的变量声明…...

C#小轮子:MiniExcel,快速操作Excel

文章目录 前言环境安装功能测试普通读写读新建Excel表格完全一致测试&#xff1a;成功大小写测试&#xff1a;严格大小写别名读测试&#xff1a;成功 写普通写别名写内容追加更新模板写 其它功能xlsx和CSV互转 前言 Excel的操作是我们最常用的操作&#xff0c;Excel相当于一个…...

Ribbon负载均衡

Ribbon与Eureka的关系 Eureka的服务拉取与负载均衡都是由Ribbon来实现的。 当服务发送http://userservice/user/xxxhtt://userservice/user/xxx请求时&#xff0c;是无法到达userservice服务的&#xff0c;会通过Ribbon会把这个请求拦截下来&#xff0c;通过Eureka-server转换…...

LeetCode--HOT100题(33)

目录 题目描述&#xff1a;148. 排序链表&#xff08;中等&#xff09;题目接口解题思路代码 PS: 题目描述&#xff1a;148. 排序链表&#xff08;中等&#xff09; 给你链表的头结点 head &#xff0c;请将其按 升序 排列并返回 排序后的链表 。 LeetCode做题链接&#xff1…...

【docker练习】

1.安装docker服务&#xff0c;配置镜像加速器 看这篇文章https://blog.csdn.net/HealerCCX/article/details/132342679?spm1001.2014.3001.5501 2.下载系统镜像&#xff08;Ubuntu、 centos&#xff09; [rootnode1 ~]# docker pull centos [rootnode1 ~]# docker pull ubu…...

韦东山-电子量产工具项目:业务系统

代码结构 所有代码都已通过测试跑通&#xff0c;其中代码结构如下&#xff1a; 一、include文件夹 1.1 common.h #ifndef _COMMON_H #define _COMMON_Htypedef struct Region {int iLeftUpX; //区域左上方的坐标int iLeftUpY; //区域左下方的坐标int iWidth; //区域宽…...

React(6)

1.React插槽 import React, { Component } from react import Child from ./compoent/Childexport default class App extends Component {render() {return (<div><Child><div>App下的div</div></Child></div>)} }import React, { Compon…...

Element-UI+Axios:如何优雅处理Vue异步请求的Loading状态?

Element-UIAxios&#xff1a;企业级后台系统的Loading状态高阶实践 在数据密集型的后台管理系统开发中&#xff0c;异步请求的状态反馈直接影响用户体验。当页面需要同时处理数十个表单提交、图表数据加载和批量操作时&#xff0c;如何避免Loading状态的混乱闪烁&#xff1f;怎…...

Nix系统修复终极指南:快速解决包管理问题与数据恢复

Nix系统修复终极指南&#xff1a;快速解决包管理问题与数据恢复 【免费下载链接】nix Nix, the purely functional package manager 项目地址: https://gitcode.com/gh_mirrors/ni/nix Nix作为一款纯粹函数式的包管理器&#xff0c;以其独特的依赖管理和环境隔离机制受到…...

告别Postman!用VSCode REST Client插件管理你的HTTP请求(附环境变量实战)

告别Postman&#xff01;用VSCode REST Client插件管理你的HTTP请求&#xff08;附环境变量实战&#xff09; 在开发者的日常工作中&#xff0c;API调试是不可或缺的一环。传统上&#xff0c;Postman等独立工具占据了主导地位&#xff0c;但随着开发工具链的整合趋势&#xff0…...

告别VS手动配置!用Premake5+Lua脚本一键生成C++项目(附多平台实战案例)

告别VS手动配置&#xff01;用Premake5Lua脚本一键生成C项目&#xff08;附多平台实战案例&#xff09; 每次新建C项目时&#xff0c;你是否也厌倦了在Visual Studio中重复点击那些繁琐的配置选项&#xff1f;从平台工具集到运行时库&#xff0c;从包含目录到预处理器定义&…...

从游戏到医疗:用Touch™和OpenHaptics 3.5解锁Windows力反馈应用新场景(附Unity与C++双环境配置要点)

从游戏到医疗&#xff1a;Touch™力反馈技术的跨界应用与开发实践 想象一下&#xff0c;外科医生在虚拟手术训练中感受到真实的组织阻力&#xff0c;汽车维修学员通过触觉反馈"触摸"到发动机零件的磨损痕迹&#xff0c;游戏玩家在射击游戏中体验到不同武器的后坐力差…...

ChatTTS社区生态:GitHub项目活跃度与更新频率观察

ChatTTS社区生态&#xff1a;GitHub项目活跃度与更新频率观察 1. 项目概述与核心价值 ChatTTS作为目前开源语音合成领域的明星项目&#xff0c;以其卓越的拟真度和自然度赢得了广泛关注。这个专门针对中文对话优化的语音合成模型&#xff0c;能够自动生成极其自然的停顿、换气…...

Open Multiple URLs:如何用1个浏览器扩展实现10倍工作效率提升?

Open Multiple URLs&#xff1a;如何用1个浏览器扩展实现10倍工作效率提升&#xff1f; 【免费下载链接】Open-Multiple-URLs Browser extension for opening lists of URLs built on top of WebExtension with cross-browser support 项目地址: https://gitcode.com/gh_mirr…...

嵌入式工程师必看:手把手教你排查PHY芯片挂载失败的6个硬件坑(附示波器实测图)

嵌入式工程师必看&#xff1a;手把手教你排查PHY芯片挂载失败的6个硬件坑&#xff08;附示波器实测图&#xff09; 调试一块新设计的PCB板时&#xff0c;最让人头疼的莫过于网口无法正常工作。作为一名嵌入式工程师&#xff0c;我经历过太多次PHY芯片无法被系统识别的窘境——那…...

南北阁Nanbeige 4.1-3B实现AIGC应用:内容生成实战案例

南北阁Nanbeige 4.1-3B实现AIGC应用&#xff1a;内容生成实战案例 1. 模型效果概览 南北阁Nanbeige 4.1-3B作为一款轻量级大语言模型&#xff0c;在AIGC内容生成领域展现出了令人惊喜的能力。虽然参数量相对较小&#xff0c;但在实际测试中&#xff0c;它在文本创作、代码生成…...

AI辅助创作:Krita智能选区工具效率提升指南

AI辅助创作&#xff1a;Krita智能选区工具效率提升指南 【免费下载链接】krita-vision-tools Krita plugin which adds selection tools to mask objects with a single click, or by drawing a bounding box. 项目地址: https://gitcode.com/gh_mirrors/kr/krita-vision-too…...