Coder

Coder.com 是一个基于云的开发环境平台,旨在提供一个全功能的开发环境,使团队能够在同一个地方协作开发,从而提高生产力。它支持多种编程语言和框架,包括 Java、Python、Go、JavaScript 等等,并且还提供了各种开发工具,例如 Git、VS Code等等。


Docker Run

启动容器

1
docker run -itd -p 10000:8080 -u root --name code-server codercom/code-server

挂载 Web 登陆密码

1
docker cp code-server:/root/.config/code-server/config.yaml $(pwd)/config.yaml

查看 Web 登陆密码

1
docker exec code-server cat /root/.config/code-server/config.yaml

停止容器并删除

1
docker stop code-server && docker rm code-server

Docker-Compose

创建 docker-compose.yml 文件

1
nano docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
version: '3.3'
services:
code-server:
user: root
ports:
- '10000:8080'
container_name: code-server
volumes:
- '/root/docker:/home/code'
- './config.yaml:/root/.config/code-server/config.yaml'
image: codercom/code-server
1
docker-compose up -d

打开 10000 端口

1
ufw allow 10000/tcp

自定义 Coder

  1. 启动容器
  2. 获取 Web 登陆密码
  3. 安装中文汉化插件
  4. 安装 nodejs
  5. 安装 npm
  6. 安装 hexo-cli
  7. 修改 nodejs 时区
  8. 设置系统时间
  9. 设置 Web 密码为 admin
  10. 生成 rahn2029/vscode:1.0 镜像
1
2
3
docker run -itd -p 10000:8080 -u root --name code-server codercom/code-server

docker exec code-server cat /root/.config/code-server/config.yaml
1
2
3
4
apt update
apt install nodejs
apt install npm
npm -v
1
2
3
4
5
npm install hexo-cli -g
hexo init blog
cd blog
npm install
hexo server
1
2
3
4
5
6
7
8
9
10
# 永久 profile 文件末尾添加 export TZ=Asia/Shanghai
node -e "console.log(new Date().toLocaleString())"
nano /etc/profile
export TZ=Asia/Shanghai
node -e "console.log(new Date().toLocaleString())"

# 这样设置只是临时,重启后失效
node -e "console.log(new Date().toLocaleString())"
export TZ=Asia/Shanghai
node -e "console.log(new Date().toLocaleString())"
1
2
3
4
date -R
tzselect
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date -R
1
2
docker commit 7c9b5d538f57 rahn2029/coder-hexo
docker stop code-server && docker rm code-server
1
docker run -itd -p 10000:8080 -u root --name code-server rahn2029/vscode:1.0

自定义 Docker-Compose

创建 docker-compose.yml 文件

1
nano docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
version: '3.3'
services:
code-server:
user: root
ports:
- '10000:8080'
container_name: coder
volumes:
- '/root/docker:/home/code'
#- './config.yaml:/root/.config/code-server/config.yaml'
image: rahn2029/vscode:1.0
1
docker-compose up -d

打开 10000 端口

1
ufw allow 10000/tcp

插件

  1. Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code

总结

/root/docker:/home/code 将本地的项目进行挂载。

./config.yaml:/root/.config/code-server/config.yaml 挂载 Web 登陆密码。

在写一键脚本的时候,在 sh 中出现 Error: No such container:path: 容器路径错误,无法拷贝出内部文件,外部执行却可以拷贝出来,奇怪。

挂载内部文件变得不再重要,在自制镜像的当下,设置一个默认密码 admin


官方网站:https://coder.com/

官方文档:https://coder.com/docs/code-server/latest/install#docker