新的服务器安装docker及docker-compose
1、操作环境
系统:Debian 10
2、(非必需)DD一个纯净的系统
sudo -i #切换到root用户 sudo apt update -y #更新一下包
脚本
非大陆机器建议用这个:
bash <(wget --no-check-certificate -qO- 'https://raw.githubusercontent.com/MoeClub/Note/master/InstallNET.sh') -d 10 -v 64 -p "自定义root密码" -port "自定义ssh端口"
默认是Debian10,自定义root密码和自定义ssh端口自己修改成你自己想要的。
等待15到30分钟左右,连接即可,也可以自己ping一下域名,看看通不通,然后尝试连接。
其他参数
-d 10 -v 64
-d 9 -v 64
-u 20.04 -v 64
-u 18.04 -v 64
重要提醒!!!
- 请仔细阅读服务器商家的ToS条款,事先确认你的服务器提供商是否支持你DD系统(重装自己的系统)
- 由于授权问题,很多服务器提供商是禁止你把服务器DD成Windows系统的(比如Contabo),发现会暂停服务甚至删鸡!
- OpenVZ / LXC 架构系统不适用此脚本
- 注意重装有风险,请妥善备份好自己的数据,(阿里腾讯搬瓦工等有快照的商家,你可以先在后台存一个快照)可能导致无法开机(部分商家可以用VNC救回来,但本文不涉及),谨慎操作!
3、BBR
Linux Kernel 内核升级到 4.9 及以上版本可以实现 BBR 加速(Ubuntu 18.04 默认的内核是 4.15版本的内核,Ubuntu 20.04 默认的内核是 5.4 版本的内核,并已经默认编译了 TCP BBR 模块,可以直接通过参数开启)。
目前 Debian 10 自带的内核版本一般是4.19,我们可以查看一下内核版本(如果是 5.6 及以上内核则集成了 WireGuard )
hostnamectl #或者 uname -r
我们选择更新到新的稳定版本的5.1内核(目前为止),再开启BBR。
1.给 Debian 10 添加官方 backports 源,获取更新的软件库
sudo nano /etc/apt/sources.list
说明
本文以 Debian 10 为例,所以使用 /etc/apt/sources.list 仍无问题,但如果你并不是根据本文从头开始,或者使用了其他 Linux 发行版,那么建议你建立 /etc/apt/sources.list.d/ 文件夹,并在这个文件夹内建立自己的配置文件,形如 /etc/apt/sources.list.d/vpsadmin.list ,以此保证兼容性,也可避免默认文件在不可预见的情况下被覆盖而导致配置丢失。
2.然后把下面这一条加在最后,并保存退出。
deb http://deb.debian.org/debian buster-backports main
3.刷新软件库并查询 Debian 官方的最新版内核并安装。请务必安装你的 VPS 对应的版本(本文以比较常见的【amd64】为例)。
sudo apt update && sudo apt -t buster-backports install linux-image-amd64
注意
如果你的 VPS 支持,可以尝试【云服务器专用内核】linux-image-cloud-amd64,优点就是精简、资源占用低,缺点嘛是有同学反馈不支持的系统强行安装会导致无法开机(Kernel 无法识别)。
- 为了避免无法识别的悲剧,请确保:尝试前做一个系统快照,或者
- 你有 vnc 可以救场(并且你知道怎么用)
4.修改 kernel 参数配置文件 sysctl.conf 并指定开启 BBR
sudo nano /etc/sysctl.conf
说明
本文以 Debian 10 为例,所以使用 /etc/sysctl.conf 仍无问题,但如果你并不是跟着本文从头开始,或者使用了其他 Linux 发行版,那么建议你建立 /etc/sysctl.d/ 文件夹,并在这个文件夹内建立自己的配置文件,形如 /etc/sysctl.d/vpsadmin.conf,以此保证兼容性,因为部分发行版在 systemd 207 版本之后便不再从 /etc/sysctl.conf 读取参数。使用自定义配置文件也可避免默认文件在不可预见的情况下被覆盖而导致配置丢失。
5.把下面的内容添加进去
net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr
6.重启 VPS、使内核更新和BBR设置都生效
sudo reboot
7.确认BBR开启
lsmod | grep bbr
此时应该返回这样的结果:
tcp_bbr
如果你想确认 fq 算法是否正确开启,可以使用下面的命令:
lsmod | grep fq
此时应该返回这样的结果:
sch_fq
查看内核版本:
uname -r
内核版本已经变成了5.10
4、修改时间
首先,我们需要修改服务器的时间与我们本地的时间一致。
香港的服务器的话时间是一样的,就无所谓了,如果是欧美的服务器,可以通过下面的方式修改~
sudo -i #切换到root用户 apt update -y && apt upgrade -y #更新一下包
先查看时间:
timedatectl
可以看到我们的时间变成了纽约时间,这边需要改一下。
timedatectl list-timezones #列出所有时区
sudo timedatectl set-timezone Asia/Shanghai #改成上海
发现没有sudo命令,这是因为我们的系统现在是纯净的,没有装其他的东西
这边我们手动安装几个常用的命令~
apt install sudo curl wget
然后重新运行
5、添加SWAP
swap是Linux中的虚拟内存,用于扩充物理内存不足而用来存储临时数据存在的。它类似于Windows中的虚拟内存。在Windows中,只可以使用文件来当作虚拟内存。而linux可以文件或者分区来当作虚拟内存。
这个虚拟内存对于内存小的VPS非常有必要,可以提高我们的运行效率。
这里我们用脚本来添加。
wget -O box.sh https://raw.githubusercontent.com/BlueSkyXN/SKY-BOX/main/box.sh && chmod +x box.sh && clear && ./box.sh
这边建议是2倍,我添加了1倍,也就是1024MB
6、安装Docker、Docker-conpose
- 更新、安装必备软件
apt-get update && apt-get install -y wget vim
- 非大陆Docker安装
wget -qO- get.docker.com | bash
- 注意:出现sudo: unable to resolve host [hostname],可以编辑nano /etc/hosts然后在
-
localhost后面空一格,再打上[hostname]你对应的hostname内容。
-
查看Docker版本
docker -v
- 开机自动启动
systemctl enable docker
- 卸载Docker
sudo apt-get purge docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd
- 非大陆Docker-compose安装
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
- 国内机安装docker
curl -sSL https://get.daocloud.io/docker | sh
国内机安装docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.1.1/docker-compose-
uname -s-
uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose`
附
如果还是放不下宝塔面板(或者担心以后会用到宝塔)的话,可以在第一部分BBR开启完毕之后,到宝塔官网下载宝塔(宝塔安装需要服务器是干净的没有安装过别的软件),安装宝塔完成之后(取消登陆框可以看这个:宝塔去除登陆),修改时间和添加SWAP可以在软件商店搜索Linux工具箱,利用工具箱来修改。之后安装Docker可以选择用宝塔来安装,也可以选择按上文的步骤来安装。
评论区