文章目录

  • 1. 创建非root用户
  • 2. code-server部署


1. 创建非root用户

  1. 用户创建
    因为总是使用root用户进行操作,不太符合以往使用Ubuntu的习惯,所以创建一个非root用户,命令如下
adduser <username>

输入命令后根据提示设置密码即可

  1. 设置权限
    此时新添加的用户是没有sudo权限的,因此我们要给他添加权限,修改/etc/sudoers文件
chmod 755 /etc/sudoers
vim /etc/sudoers

然后你会看到root ALL=(ALL:ALL) ALL这一行,按照他的规则再写一行即可,写完之后是这样的

root ALL=(ALL:ALL) ALL
<username> ALL=(ALL:ALL) ALL

然后再把这个文件的权限改回去

chmod 440 /etc/sudoers

然后你就可以用你新创建的这个用户登陆了

2. code-server部署

  1. 安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.0-rc2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version      验证安装
  1. 安装code-server,记的修改你的路径名
    下边这个是试验成功的,注意修改端口映射、密码以及挂载的文件夹
docker run -itd --name coder-test -u $(id -u) -p 80:8080 -v /home/wxy/code-server:/home/wxy/code-server -e PASSWORD=123456 codercom/code-server:latest --auth password
  • -v指的是文件挂载目录,其使用规则是-v 宿主机目录:容器内目录,设定之后就可以在宿主机的/home/coder/project访问容器内的/home/coder/project,如果没有此文件夹,他会自动创建,同理也可以使用容器中对应文件夹访问宿主机的对应文件夹。可以使用docker inspect <containerName>,查看其中的Mounts部分,查看挂载情况。当然,也可以不写,并使用github去保存文件。
  • -u $(id -u)指的是用户名,这里不能直接填用户名,必须使用uid,我太明白这一步有什么用,即使指定了用户名,也是在/home/coder下,还是缺省吧
  • -p注意上边的,后边接的是外部访问docker run -p ip:hostPort:containerPorthostPort就是你要用来外部访问的端口,containerPort则是容器的端口。其中80端口是默认的http端口如果使用他作为hostPort,那么可以不用输端口号,直接使用ip地址就可以访问。一般会缺省ip:部分,默认值为0.0.0.0,写成-p 80:8080这样,代表任何都可以访问。或者可以直接-P,可以自动分配宿主端口号,容器端口号也不需要指定了。sudo nmap -sTU -O localhost可以在docker里使用这条命令,查看他占用了什么端口。
    这里docker的端口映射似乎可以写很大一部分,算了,后续在开坑吧。

所以经过各种缺省后,建议使用的是下边这个(记的修改-p,-v,PASSWORD等内容)

docker run -itd --name coder-test -p 80:8080 -v /home/coder/project:/home/coder/project -e PASSWORD=123456 codercom/code-server:latest --auth password

成功之后使用docker ps查看,应该是这个样子

docker moba 设置编码 docker code-server_ubuntu

  1. 访问
    直接从chrome浏览器,输入ip:hostPort即可访问
    或者采用下边的这个命令,就可以在命令行界面进入docker容器
docker exec -it coder-test /bin/bash
  1. 一些注意事项
    code-server中的terminal中什么都没有,比如gcc,vim啥的,需要你自己去安装。

参考文章
github上面超火的code-server+docker安装教程