1. 购买云服务器
首先去任意云服务器平台购买一个云服务器,作者购买的是阿里云的ESC n4服务器,在做完学生认证后,新年活动期间180块大洋买三年
,如果没赶上新年活动也不用担心,以后优惠活动非常多,但大多针对第一次购买服务器的学生身份,所以第一次买一定要把羊毛薅光。注意系统要选Ubuntu 20.04 64位
,其他随意。
PS:作者又低价续费(87.12/year)了3年,在降低配置按流量收费后,又退了58.38,所以相当于租了6年花了382.98,一年60多块,这也太香了qwq
在购买完服务器后,首先在阿里云网站界面的云服务器 ECS
中选择实例
,你就可以看见自己的服务器了,再在自己的服务器上点击更多
,重置实例密码
,改一个自己能记住的密码,这就是你以后ssh服务器的密码了
随后可以选择降低配置,把按固定宽带模式改为按流量计费模式,当然你不改也可以~
改为按流量计费模式的好处有:
- 改成按流量计费模式属于降低配置,会退一笔钱(作者退了58.38)
- 平时不会限制你的带宽,可以拉到100Mb,即12.5MB
当然坏处就是流量收费了,0.8¥/1G,不过作者建议还是改了好因为平时哪有那么多人访问你的网站
同样的,进入云服务器 ECS
中的实例
,在自己的云服务器后面点击升降配
,选择降低配置
中的降低带宽配置
,进入后在公网带宽
中选择按使用流量
,并拉满100Mb的配置。如果你的升降配的界面没有降低配置的选项,不用担心,直接找阿里云的人工客服,提供你的公网IP和截图后,5min就能解决,重新刷新界面,就会看到包含降低配置
的界面
2. 配置云服务器
之后进入AC Terminal,ssh到自己的服务器,阿里云的默认用户名是root
ssh root@xxx.xxx.xxx.xxx # xxx.xxx.xxx.xxx替换成新服务器的公网IP
输入你设置好的密码后,你就进入了自己的服务器,这时你登录的是服务器的root账号,在服务器内拥有至高无上的权力,所以有误操作就很容易搞坏服务器,于是我们自己创建一个用户,并赋予他sudo
权限,这样就不会发生误操作了,并且要使用root用户的权力时,命令前加上sudo
即可
adduser riz9 # 创建用户riz9 PS: 这个用户名随便起,怎么舒服怎么来
usermod -aG sudo riz9 # 给用户riz9分配sudo权限
然后退出服务器,我们设置服务器别名和免密登录
进入 AC terminal 的 ~/.ssh/config 文件中,在后面写上以下内容,User就是你刚才在云服务器中加入的用户名,改完后保存并退出
Host 别名
HostName 公网IP
User riz9
之后再一键设置免密登录
ssh-copy-id 服务器别名
ssh进入你的云服务器,为它安装tmux
sudo apt-get update
sudo apt-get install tmux
并把 AC Terminal 的配置传给云服务器
scp .bashrc .vimrc .tmux.conf server_name: # server_name需要换成自己配置的别名
3. 安装docker
随后打开tmux,开始安装docker,直接顺次执行以下命令
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
然后等待docker的安装完毕,安装完后可以输入docker --version
查看docker的版本,如果顺利查询到版本,证明docker已经成功安装完毕
4. 使用docker
docker分为images
和container
,他们的关系相当于月饼的模子和月饼的关系,images
即月饼的模子,container
即模子扣出来的月饼。images
即镜像,可以通过docker pull ubuntu:20.04
从官网拉取一个镜像或者docker load -i ubuntu_20_04.tar
从本地加载一个镜像(以ubuntu:20.04举例)。container
即容器,可以通过docker create -it ubuntu:20.04
来创建ubuntu:20.04
镜像的一个容器。具体常用命令在y总的总结中
以下为y总提供的镜像文件安装的步骤:
如果要创建容器必须要有镜像,镜像文件在 ~/var/lib/acwing/docker/images/
目录下,先把镜像上传到自己的服务器
scp /var/lib/acwing/docker/images/docker_lesson_1_0.tar 云服务器名:
随后登录自己的云服务器,把镜像加载到本地,创建并运行该镜像,加载完毕后进入该镜像中名为my_docker_server
的容器中,设置root密码并创建普通权限用户,再赋予他root权限
ssh server_name # 登录自己的云端服务器
docker load -i docker_lesson_1_0.tar # 将镜像加载到本地
docker run -p 20000:22 --name my_docker_server -itd docker_lesson:1.0 # 创建并运行docker_lesson:1.0镜像
docker attach my_docker_server # 进入创建的docker容器
passwd # 设置root密码
adduser acs # 创建普通权限用户
usermod -aG sudo acs # 给普通权限用户增加root权限
挂起my_docker_server
容器,返回AC Terminal中,通过公网IP和端口号尝试直接连接到my_docker_server
容器中
ssh root@xxx.xxx.xxx.xxx -p 20000 # 将xxx.xxx.xxx.xxx替换成自己租的服务器的IP地址
如果失败,则说明你的阿里云服务器未开放20000端口。进入阿里云网站中的云服务器 Ecs,并在其中找到你的云服务器实例,点击更多
,在网络和安全组中
点击安全组配置
,再点击配置规则
,手动添加20000这个端口
之后应该成功进入到my_docker_server
容器中,注意@
前面是什么用户名,就用哪个用户登录该容器
随后我们可以配置一下别名和免密登录,先返回到AC Terminal中vim ~/.ssh/config
,在后面追加以下内容后,就设置完了服务器的别名
Host server1_docker
HostName xxx.xxx.xxx.xxx
User acs
Port 20000
追加的内容从上往下分别是my_docker_server容器的别名
,容器所在云服务器的公网IP
,别名登录时登录的用户名
,登录的端口
保存退出之后再执行ssh-copy-id server1_docker
,便可设置免密登录