新装系统操作步骤
– 更换系统源
采用阿里云源,+配置Docker安装源
#1. 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#2. 下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
#3. 运行 yum makecache 生成缓存
yum makecache
一、EPEL源
# &常用组件工具&命令自动补全安装
yum install epel-release -y && yum install htop git vim lrzsz net-tools telnet zip unzip wget -y && yum install bash-completion -y
二、系统更新
yum update -y
三、Filewall、SELINUX、History
# Filewall
systemctl stop firewalld.service && systemctl disable firewalld.service
# Selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# History 记录执行时间、用户、IP
echo 'export HISTTIMEFORMAT="%F %T `who am i | awk '{print $1 $5}'`"' >> /etc/profile
source /etc/profile
# $符不转义,读到这儿就中断了,那就使用下面的:
# 在/etc/profile最后添加以下命令:
vim /etc/profile
export HISTTIMEFORMAT="%F %T `who am i | awk '{print $1 $5}'`"
source /etc/profile
#清除本次会话history:
history -r
四、Docker安装-阿里源
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加阿里云软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# 或者添加腾讯云软件源信息
#wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
#sudo sed -i 's+download.docker.com+mirrors.cloud.tencent.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo systemctl start docker.service && systemctl enable docker.service
# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
# 将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
# Loading mirror speeds from cached hostfile
# Loaded plugins: branch, fastestmirror, langpacks
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
# Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]
五、Docker配置一
Docker Json文件配置
# 配置文件修改:
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://d3is0bty.mirror.aliyuncs.com","http://f1361db2.m.daocloud.io"],
"insecure-registries": ["http://hub.nercoa.com"],
"data-root": "/mnt/DockerRootDir",
"storage-driver": "overlay2",
"log-driver":"json-file",
"log-opts": {"max-size":"500m", "max-file":"3"}
}
# "graph": "/mnt/docker-data", 亦可指定Docker的根目录位置。
六、Docker配置二
解决docker运行容器自动开放防火墙端口, Firewalld无法控制docker端口情况
配置此项后,启动Docker异常,待处理。
# 解决docker运行容器自动开放防火墙端口, Firewalld无法控制docker端口情况
#被这个东西坑了几次了,总以为自己屏蔽了端口,但是发现没有屏蔽导致两次被清库,这次终于找到原因了。
#因为docker是直接走iptables转发,不受自带防火墙的控制,坑死了。
#需要修改/usr/lib/systemd/system/docker.service
vim /usr/lib/systemd/system/docker.service
#找到 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 在中间添加 --iptables=false
修改之后 :
ExecStart=/usr/bin/dockerd --iptables=false -H fd:// --containerd=/run/containerd/containerd.sock
# 上面的位置不能放错,放错启动会报错。
:wq 保存退出
#然后
systemctl daemon-reload
systemctl restart docker
七、Docker配置三
限制Docker容器生成大量core文件
## 限制Docker容器生成大量core文件,上面之前配置文件中限制了日志的文件,但无法限制错误时生成的转储文件
vi /usr/lib/systemd/system/docker.service
# 在容器服务当中添加默认值 --default-ulimit core=0:0
/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --iptables=false -H fd:// --containerd=/run/containerd/containerd.sock --default-ulimit core=0:0
八、 启用IPV4转发功能
Docker启动报错
WARNING:IPv4 forwarding is disabled. Networking will not work.
解决办法:
vim /etc/sysctl.conf
net.ipv4.ip_forward=1 # 添加这段代码
重启network服务
systemctl restart network && systemctl restart docker
查看是否修改成功 (备注:返回1,就是成功)
sysctl net.ipv4.ip_forward
# 正常会输出以下信息
net.ipv4.ip_forward = 1
九、 SSH配置
- 修改ssh端口号
- 上传公钥
- 修改断开时间
- 关闭密码登陆,只允许证书登陆
#Port 22
Port $(YourPort)
ClientAliveInterval 600
ClientAliveCountMax 3
# 将这两个参数值修改为no:
PasswordAuthentication no
ChallengeResponseAuthentication no
#然后重启SSH服务。
现在我们就已经限制用户的SSH登录方式,只允许用key方式登录。
进一步测试,如果我们用一台不带信任key的机器尝试登录,那么会提示如下信息。
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
证明限制SSH登录方式成功。
评论区