docker安装code server远程vscode

vscode现在可以远程运行了,微软官方也支持。其实也可以自己搭建的,这里用docker进行搭建。

要求:

安装了docker和docker-compose

使用的镜像是: codercom/code-server Docker Hub

docker-compose配置脚本如下[docker-compose.yaml]

version: "3"

services:
  code-server:
    container_name: code-server
    image: codercom/code-server # 使用的镜像
    ports:
      - "8080:8080" # 端口
    volumes:
      - "./code-server/workspace:/home" # 配置本地存储路径
    environment:
      PASSWORD: PASSWORD[修改为自己密码]
    restart: always

同目录下,运行指令:

docker-compose up -d

# 查看是否成功运行
# 看到状态已经是启动状态了
> docker ps | grep code-server
e5c25a45a064   codercom/code-server          "/usr/bin/entrypoint…"   53 seconds ago   Up 51 seconds   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   code-server

在浏览器输入ip和端口,就可以访问到远程的vocde了。PS:如果是云服务器,需要在服务器的控制台开放8080端口。

尝试运行一下python代码 

PS:也尝试了运行C++代码,但是配置不成功。python和node可以。

远程的vscode可以运行一些脚本代码,理论上使用ipad也可以进行开发了,只需要一台vps和网络就行。 

### 如何在 Docker 容器安装 Visual Studio Code 为了实现在 Docker 容器内运行 Visual Studio Code 的目标,通常不是直接在容器内部安装 VSCode 应用程序本身,而是利用远程连接的方式让本地的 Visual Studio Code 连接到远端正在运行的应用服务所在的容器环境中。具体实现方法如下: #### 使用官方提供的基础镜像创建自定义镜像 可以基于 `mcr.microsoft.com/vscode/devcontainers/base` 或者其他适合项目需求的基础镜像来构建新的 Dockerfile 文件。 ```dockerfile FROM mcr.microsoft.com/vscode/devcontainers/base:ubuntu-18.04 # 设置工作目录 WORKDIR /workspace # 安装必要的依赖包以及工具链 RUN apt-get update && \ apt-get install -y --no-install-recommends \ git \ python3-pip \ curl \ vim \ openssh-server \ build-essential \ cmake \ g++ \ make \ ninja-build \ unzip \ zip \ wget \ ca-certificates \ libgtk2.0-0 \ libnotify-dev \ libgconf-2-4 \ libnss3 \ libxss1 \ libasound2 \ locales \ fonts-liberation \ sudo \ iproute2 \ net-tools \ procps \ lsb-release \ less \ jq \ htop \ strace \ dstat \ sysdig \ tcpdump \ gdb \ valgrind \ perf \ linux-tools-common \ linux-tools-generic \ linux-cloud-tools-generic \ software-properties-common \ tzdata \ language-pack-en-base \ manpages \ man-db \ bash-completion \ rsync \ sshpass \ telnet \ ftp \ nmap \ whois \ dnsutils \ iptables \ traceroute \ bind9-host \ iputils-traceroute \ ethtool \ usbutils \ pciutils \ kmod \ lm-sensors \ acpid \ apg \ atop \ axel \ bc \ bmon \ cifs-utils \ colordiff \ cowsay \ curlftpfs \ dialog \ diff-so-fancy \ dirmngr \ dosfstools \ exfat-fuse \ exfat-utils \ fping \ fuse \ gcc \ gettext \ glances \ gnupg-agent \ graphviz \ groff \ hdparm \ httpie \ iotop \ iperf3 \ ipset \ iptstate \ irqbalance \ isc-dhcp-client \ jwhois \ keychain \ ldap-utils \ lrzsz \ lsof \ ltrace \ mailutils \ mc \ moreutils \ mtr-tiny \ multitail \ mycli \ ncdu \ neofetch \ nethogs \ ngrep \ nkf \ nload \ ntfs-3g \ numactl \ p7zip-full \ parted \ pigz \ pv \ reptyr \ ripgrep \ rlwrap \ screenfetch \ shellcheck \ siege \ slurm \ socat \ sqlite3 \ ssldump \ stress-ng \ subversion \ tig \ tmux \ tree \ unrar \ unzip \ uuid-runtime \ vagrant \ virt-manager \ wcalc \ wireshark \ xclip \ xmlstarlet \ xorriso \ zstd \ zlib1g-dev \ zsh \ && rm -rf /var/lib/apt/lists/* # 创建非root用户并赋予sudo权限 ARG USERNAME=vscode ARG USER_UID=1000 ARG USER_GID=$USER_UID RUN groupadd --gid $USER_GID $USERNAME \ && useradd -s /bin/bash --uid $USER_UID --gid $USER_GID -m $USERNAME \ && echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/$USERNAME \ && chmod 0440 /etc/sudoers.d/$USERNAME # 可选配置SSH访问 EXPOSE 22/tcp RUN mkdir /home/${USERNAME}/.ssh; chown ${USERNAME}:${USERNAME} /home/${USERNAME}/.ssh ;chmod 700 /home/${USERNAME}/.ssh # 开启 SSH 服务以便于通过 Remote-Containers 插件接入 CMD service ssh start && tail -f /dev/null ``` 此段脚本展示了如何准备一个适用于开发工作的 Linux 环境,并确保其中包含了用于支持图形界面应用(如 VSCode GUI 版)所需的各种库文件[^1]。 #### 利用Remote Development插件集建立链接 完成上述步骤之后,在宿主机上的 Visual Studio Code安装 Microsoft 提供的 "Remote Development" 扩展集合,它允许开发者轻松地打开位于不同位置的工作区——无论是物理机还是虚拟机甚至是云服务器中的容器实例。一旦成功建立了到目标容器内的连接,则可以直接在这个隔离环境下编写代码、调试程序等操作而无需担心影响到系统的稳定性[^2]。 对于某些特定场景下可能遇到的问题比如文件监听失败的情况可以通过调整内核参数解决,例如增加 `fs.inotify.max_user_watches` 参数值以适应大型项目的监控需求[^4]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值