玩命加载中🤣🤣🤣

windows远程开发


windos远程开发配置

docker构建容器

启动容器

docker run -itd \
  --name dee_ubuntu_12322 \
  --hostname dee-dev \
  --shm-size 64g \
  --gpus all \
  --privileged \
  --network bridge \
  -v /home/di_wang/dee/ubuntu/workspace/:/workspace \
  -v /home/di_wang/dee/ubuntu/data/:/data \
  -p 12322:22 \
  -e TZ=Asia/Shanghai \
  -e LANG=C.UTF-8 \
  -e LC_ALL=C.UTF-8 \
  --restart unless-stopped \
  --ulimit nofile=65536:65536 \
  ubuntu:22.04 \
  /bin/bash -c "
    apt-get update && apt-get install -y openssh-server net-tools iproute2 openssh-sftp-server
    ssh-keygen -A
    mkdir -p /var/run/sshd
    # 完整的 SSH 配置
    cat > /etc/ssh/sshd_config << 'EOF'
Port 22
Protocol 2
PermitRootLogin yes
PasswordAuthentication yes
PubkeyAuthentication yes
X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
EOF
    echo 'root:docker123' | chpasswd
    /usr/sbin/sshd -D
  "

删除容器

docker rm dee_ubuntu

设置密码

docker exec -it dee_ubuntu_12322 /bin/bash
passwd
# 设置相应密码
dee2323

安装必要软件包

基础环境

docker exec -it dee_ubuntu_12322 /bin/bash
    
# 更新源并安装基础软件
apt-get update && apt-get install -y \
  sudo vim curl wget git build-essential \
  htop net-tools iputils-ping dnsutils telnet \
  software-properties-common apt-transport-https \
  ca-certificates gnupg lsb-release \
  zlib1g-dev libssl-dev libffi-dev libsqlite3-dev libreadline-dev libbz2-dev



# 如果不成功,那么就强制指定
# 直接调用 pyenv 的 Python
~/.pyenv/shims/python --version

# 或者创建别名
alias python='~/.pyenv/shims/python'
alias pip='~/.pyenv/shims/pip'

# 测试
python --version

安装pyenv

#### 安装pyenv
curl https://pyenv.run | bash

# 配置环境变量(添加到 ~/.bashrc)
cat >> ~/.bashrc << 'EOF'

export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
# eval "$(pyenv virtualenv-init -)"
EOF

# 重新加载配置
source ~/.bashrc
pyenv update

pyenv安装python

## 1.安装Python(不建议直接下载)
pyenv install 3.13.5

## 2.通过wget安装
# 查看pyenv的缓存目录(通常为 ~/.pyenv/cache),如果不存在请手动创建
mkdir -p ~/.pyenv/cache
## 因为trae里面编译器可以下载这个版本(当然也可以通过下面选择环境)
wget https://mirrors.huaweicloud.com/python/3.13.2/Python-3.13.2.tar.xz -P ~/.pyenv/cache/
pyenv install 3.13.2

## 3.设置默认版本
pyenv global 3.13.2
# 查看已安装的版本
pyenv versions

# 验证安装
python --version
pip --version

## 4.如果python版本没有变化
# 4.1 先校验 /root/.pyenv/shims 在环境变量中是不是最前面
echo $PATH
# 4.2 清除shell 哈希缓存
hash -r
# 或者,启动一个新的 Shell 会话(重新打开终端或输入 exec $SHELL)也能达到同样效果
exec $SHELL

创建python虚拟环境

# 创建虚拟环境
python -m venv .venv

# 激活虚拟环境
source .venv/bin/activate

# 下载依赖
pip install -r requirements.txt

trae选择python环境

  • ctrl+shift+P
  • 搜索如下
  • select interpreter 然后就能看到目前机器上所有的python环境

nvm安装

# 这里采用直接安装
wget -O- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
  1. 一些命令
## 换源
export NVM_NODEJS_ORG_MIRROR=https://nodejs.org/dist

# 查看已经安装的版本
nvm list

# 查看可安装版本(linux)
nvm ls-remote
# 查看可安装版本(windows)
nvm list available

# 安装指定版本的 Node.js 版本
nvm install **版本号
nvm install 24.11.1

# 卸载指定的Node.js版本
nvm uninstall **版本号

# 使用指定的Node.js版本
nvm use **版本号

# 查看当前版本
nvm current

# 同上:查看node当前版本
nvm version

免密登录

本地侧生成密钥对

# 在 Linux 和 Mac 上
ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa_linux

# 在 Windows 上
ssh-keygen -t rsa -b 2048

# 如果你只有单平台使用 ssh
ssh-keygen

服务端配置公钥

# 创建目录
mkdir ~/.ssh
# 进入目录
cd ~/.ssh
# 创建 authorized_keys 文件
touch authorized_keys
# 使用文本编辑器打开 authorized_keys 文件,并将你的公钥内容粘贴到其中

环境迁移

镜像commit

# 使用
docker commit -m="提交的描述信息" -a="作者" 容器ID/容器名称 要创建的目标镜像名:[标签名]
docker commit -m="nvm" -a="dee" dee_ubuntu_12322 dee/workspace:0.2

容器迁移

## 这里举例追加了一些新的端口
docker run -itd \
  --name dee_ubuntu_12322 \
  --hostname dee-dev \
  --shm-size 64g \
  --gpus all \
  --privileged \
  --network bridge \
  -v /home/di_wang/dee/ubuntu/workspace/:/workspace \
  -v /home/di_wang/dee/ubuntu/data/:/data \
  -p 12322:22 \
  -p 8989:8989 \
  -e TZ=Asia/Shanghai \
  -e LANG=C.UTF-8 \
  -e LC_ALL=C.UTF-8 \
  --restart unless-stopped \
  --ulimit nofile=65536:65536 \
  dee/workspace:0.2 \
  /bin/bash -c "
    /usr/sbin/sshd -D
  "

简单说明

docker run -itd \
  --name dee_ubuntu_12322 \  # 若需同时运行新旧容器,此处须改新名,如 dee_ubuntu_12322_v2
  --hostname dee-dev \
  --shm-size 64g \
  --gpus all \
  --privileged \
  --network bridge \
  -v /home/di_wang/dee/ubuntu/workspace/:/workspace \
  -v /home/di_wang/dee/ubuntu/data/:/data \
  -p 12322:22 \  # 保留原有SSH端口映射
  -p 8989:8989 \  # ★★★★★ 新增的端口映射,格式为 -p 宿主机端口:容器端口 ★★★★★
  -e TZ=Asia/Shanghai \
  -e LANG=C.UTF-8 \
  -e LC_ALL=C.UTF-8 \
  --restart unless-stopped \
  --ulimit nofile=65536:65536 \
  dee/workspace:0.1 \  # 使用你提交的镜像
  /bin/bash -c "
    /usr/sbin/sshd -D  # 通常只需保持SSH守护进程运行
  "

验证是否追加新映射端口

docker port dee_ubuntu_12322 8989
# 或直接查看容器所有映射
docker port dee_ubuntu_12322

使用docker compose管理

  • 创建 docker-compose.yaml 文件
version: '3.8'
services:
  dee-workspace:
    image: dee/workspace:0.1
    container_name: dee_ubuntu_12322
    hostname: dee-dev
    runtime: nvidia  # 使用GPU需配置Docker的nvidia容器运行时
    shm_size: '64gb'
    privileged: true
    network_mode: bridge
    volumes:
      - /home/di_wang/dee/ubuntu/workspace/:/workspace
      - /home/di_wang/dee/ubuntu/data/:/data
    ports:
      - "12322:22"    # 原有SSH端口
      - "8989:8989"   # 新增的后端服务端口
    environment:
      - TZ=Asia/Shanghai
      - LANG=C.UTF-8
      - LC_ALL=C.UTF-8
    restart: unless-stopped
    ulimits:
      nofile:
        soft: 65536
        hard: 65536
    command: /bin/bash -c "/usr/sbin/sshd -D"
  • 启动服务
docker compose up -d

文章作者: 👑Dee👑
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 👑Dee👑 !
  目录