阿里云安装Docker和Tailscale及遇到的问题
本文记录了如何安装docker 和使用国内源安装Tailscale及解决Tailscale和阿里云内网DNS冲突问题。
Docker
Docker直接使用阿里云给的教程安装 1.更新您的包管理工具:
sudo apt-get update
2.添加阿里云源到您的实例中,这个源包含Docker软件包,方便您使用命令来安装和更新Docker。
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository -y "deb [arch=$(dpkg --print-architecture)] https://mirrors.aliyun.com/docker-ce/linux/debian $(lsb_release -cs) stable"
```txt
sudo apt-get update
3.安装Docker社区版本,容器运行时containerd.io,以及Docker构建和Compose插件:
sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
4.启动Docker并设置Docker守护进程在系统启动时自动启动,这样可以确保每次系统启动时,Docker服务也会自动启动:
sudo systemctl start docker
sudo systemctl enable docker
5.阿里云容器镜像服务ACR提供了官方的镜像加速器,从而加速官方镜像的下载:
- 登录容器镜像服务控制台,在左侧导航栏选择镜像工具 > 镜像加速器,在镜像加速器页面获取加速器地址。
-
创建并编辑
/etc/docker/daemon.json文件(如果文件不存在,则创建):{ "registry-mirrors": ["<镜像加速器地址>"] } -
重启Docker使配置生效。
```txt
sudo systemctl restart docker
Tailscale
---------
[官方教程](https://tailscale.com/kb/1031/install-linux),选择对应的版本进行安装,不使用一键安装脚本,比如我是Debian12
1.添加 Tailscale 的软件包签名密钥和存储库:
curl -fsSL https://pkgs.tailscale.com/stable/debian/bookworm.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null curl -fsSL https://pkgs.tailscale.com/stable/debian/bookworm.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list
2.使用中科大的镜像,给Tailscale加速:
sudo sed -i ’s,pkgs.tailscale.com/stable,mirrors.ustc.edu.cn/tailscale,g’ /etc/apt/sources.list.d/tailscale.list
3.安装Tailscale:
sudo apt-get update sudo apt-get install tailscale sudo tailscale up
4.解决Tailscale与阿里云内网DNS冲突
[参考教程](https://nyan.im/p/troubleshoot-tailscale) 运行 `iptables -S`,找到和Tailscale相关的有如下几条

下面这条规则drop掉了整个IP段的数据包,使用iptables -D 删除规则
-A ts-input -s 100.64.0.0/10 ! -i tailscale0 -j DROP
找规则编号:
iptables -L ts-input –line-numbers
root@cn-pek-aliyun:~# iptables -L ts-input –line-numbers Chain ts-input (1 references) num target prot opt source destination 1 ACCEPT all – cn-pek-aliyun anywhere 2 RETURN all – 100.115.92.0/23 anywhere 3 DROP all – 100.64.0.0/10 anywhere 4 ACCEPT all – anywhere anywhere 5 ACCEPT udp – anywhere anywhere udp dpt:41641
运行以下命令,根据编号删除规则:
iptables -D ts-input 3
此时去ping 阿里云内网域名是可以ping通的。