在服务器上的相关运维操作

安装 Docker

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 安装 Docker 依赖库
$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates \
gnupg-agent software-properties-common \
curl
# 清理过去遗留的老版本
$ sudo apt-get remove docker docker-engine docker.io containerd runc

# 添加 Docker 官方的 GPG key
$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# 添加 docker 仓库
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

# 安装 Docker CE
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

# 验证
$ sudo docker run hello-world

# 配置镜像加速器
$ echo '{ "registry-mirrors": ["https://umbmb1yu.mirror.aliyuncs.com"] }' | sudo tee /etc/docker/daemon.json
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

# 登录私库
$ sudo docker login --username=abmatrix registry.cn-hangzhou.aliyuncs.com
1
2
# 使用阿里官方安装脚本自动安装 (仅适用于公网环境)
$ sudo curl -fsSL https://get.docker.com | sudo bash -s docker --mirror Aliyun

删除 Docker

1
2
3
4
5
# 卸载 Docker CE 包
$ sudo apt-get purge docker-ce

# 删除 images、containers 和 volumes
$ sudo rm -rf /var/lib/docker

修改 hostname

1
2
# 修改 hostname
$ hostnamectl set-hostname abm-aliyun-x

开启 ssh 密码登录

1
2
3
4
5
$ vim /etc/ssh/sshd_config

修改 PasswordAuthentication yes

$ service sshd restart

挂载硬盘

1
2
3
4
5
6
7
8
9
10
11
12
13
# 查看主机上的硬盘
$ fdisk -l

# 硬盘格式化
$ mkfs.ext4 /dev/vdb

# 挂载
$ mount /dev/vdb /mnt

# 开机自动挂载, 编辑 /etc/fstab 文件
$ vim /etc/fstab
# 追加
/dev/vdb /mnt ext4 defaults 0 0

添加用户并并将用户加入 Docker 组

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 添加用户
$ adduser abm

# 加入 sudo 权限
$ chmod u+w /etc/sudoers
$ echo "abm ALL=(ALL:ALL) ALL" >> /etc/sudoers
$ chmod u-w /etc/sudoers

# 查看是否存在 docker 组
$ cat /etc/group | grep docker

# 不存的话创建 docker 分组
$ groupadd docker

# 对应用户登录
# 将用户添加 docker 分组
$ sudo gpasswd -a $USER docker
$ newgrp docker

# 设置权限
$ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
$ sudo chmod g+rwx "/home/$USER/.docker" -R

Docker 其他组件安装

1
2
3
4
5
6
7
8
# 安装 docker-compose
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 设置权限
$ sudo chmod +x /usr/local/bin/docker-compose

# 安装命令补全
$ sudo curl -L https://raw.githubusercontent.com/docker/compose/1.25.5/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose

修改 Docker 储存位置

1
2
3
4
5
6
7
8
9
10
11
# 停止服务
$ sudo service docker stop

# 转移
$ sudo mv /var/lib/docker /mnt/data/docker

# 创建软链接
$ sudo ln -s /mnt/data/docker /var/lib/docker

# 启动服务
$ sudo service docker start

设置防火墙规则

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 指定端口
$ sudo ufw allow 22

# Docker Swarm 相关端口
$ sudo ufw allow 2376/tcp
$ sudo ufw allow 2377/tcp
$ sudo ufw allow 7946/tcp
$ sudo ufw allow 7946/udp
$ sudo ufw allow 4789/udp

# 指定 ip
$ sudo ufw allow from 123.123.123.123

# 开启
$ sudo ufw enable

# 重新加载
$ sudo ufw reload

测试 UPD 端口

1
2
3
4
5
6
7
8
9
# 服务端监听:
$ nc -l -u 192.168.80.129 8001

# 客户端:
$ nc -u 192.168.80.129 8001
# 在这里输入字符串, 服务端就会回显相同的字符串,表示 8001 端口上的 udp 服务是否启用.

# 查看 udp 连接
$ netstat -nua