docker 部署 code-server
code-server
code-server是一款服务端的vscode,可以在浏览器中使用vscode
对于个人
- 在任何带浏览器的设备(比如iPad,Chromebooks等)上远程访问你的开发环境,远程开发和调试你的项目。
- 可以把开发环境部署到你的个人云服务器甚至你的NAS上。
对于企业
- 可以基于code-server搭建统一的开发环境申请平台。
- 开发人员可以在线申请针对特定项目和需求的开发环境,等待系统自动配置后,开发人员可以获得一个url以访问该环境。从而可以以较低配置的电脑,甚至chrombook进行开发工作,同时省去自己搭建环境的时间。
众所周知,开发环境的搭建非常耗费时间,而且还要关注到项目对引用及依赖的库文件的版本问题。尤其是对于一些已经交付的项目的二次开发,开发人员要么配置之前的开发环境,要么把相关包文件升级到最新版本并且发布到生产环境。
# 拉取镜像
docker pull codercom/code-server:latest
# 创建物理机所需要的映射目录
mkdir -p /www/wwwroot/coder-server/.config
mkdir -p /www/wwwroot/coder-server/project
# 创建容器
docker run -d -it --name code-server -p 8080:8080 \
-v "/www/wwwroot/coder-server/.config:$HOME/.config" \
-v "/www/wwwroot/coder-server/project:/home/coder/project" \
-u "$(id -u):$(id -g)" \
-e "DOCKER_USER=$USER" \
codercom/code-server:latest
docker run -d -it --name code-server -p 8080:8080 -v "/www/wwwroot/coder-server/.config:$HOME/.config" -v "/www/wwwroot/coder-server/project:/home/coder/project" -u "$(id -u):$(id -g)" -e "DOCKER_USER=$USER" codercom/code-server:latest
# 查看密码
docker exec code-server cat /home/coder/.config/code-server/config.yaml
Error response from daemon: Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers
该问题为网络原因 连接不通
# 编辑 Docker 配置文件
sudo vim /etc/docker/daemon.json
# 编辑
{
"registry-mirrors": [
"https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://your_preferred_mirror",
"https://dockerhub.icu",
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
}
# 保存后重启docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker
docker 配置正确步骤 阿里云源
# 清理旧版本 Docker(如有)
sudo apt-get purge docker docker-engine docker.io containerd runc
# 安装依赖工具
sudo apt-get install ca-certificates curl gnupg lsb-release
# 添加 Docker 官方 GPG 密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 配置阿里云 Docker 源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 更新软件包索引
sudo apt-get update
# 安装 Docker 核心组件
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 启动 Docker 服务并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
# 验证安装
dpkg -l | grep docker # 查看已安装的 Docker 组件
sudo docker --version # 查看 Docker 版本
# (可选)配置阿里云镜像加速
# 登录阿里云容器镜像服务,获取专属加速地址后配置:
sudo vim /etc/docker/daemon.json
# 写入配置:
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn", // 中国科学技术大学
"http://hub-mirror.c.163.com", // 网易云
"https://mirror.baidubce.com", // 百度智能云
"https://reg-mirror.qiniu.com" // 七牛云
]
}
# 重启 Docker 使配置生效:
sudo systemctl daemon-reload
sudo systemctl restart docker
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head “http://%2Fvar%2Frun%2Fdocker.sock/_ping”: dial unix /var/run/docker.sock: connect: permission denied
sudo docker images
# 切换root 用户
sudo su
# 退出
exit
Crtl+D
一劳永逸的方法
# 执行以下命令将当前用户加入到docker用户组中
sudo gpasswd -a $USER docker
# 记得更新用户组
newgrp docker
docker
目的:熟练使用docker进行code-server的部署,能通过网页打开vscode界面进行编程,并能够提供给多用户使用。
docker 常用命令
vmware突然不能复制粘贴主机的内容
在已经安装vmware-tools的前提下:
sudo reboot
重启解决大多数问题。